lory.min.js 兼容移动端的幻灯片轮换插件
lory.min.js 兼容移动端的幻灯片轮换插件
第一步引入bfwone
第二步执行插件
示例如下
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>BFW NEW PAGE</title> <script id="bfwone" data="dep=jquery.17&err=0" type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/bfwone.js"></script> <script type="text/javascript"> bready(function() { use(["highlight", "railscasts"], function() { hljs.initHighlightingOnLoad(); }); use(["lory.min", "lory"], function() { var simple = document.querySelector('.js_simple'); var percentage = document.querySelector('.js_percentage'); var rewind = document.querySelector('.js_rewind'); var rewind_percentage = document.querySelector('.js_rewind_percentage'); var variableWidth = document.querySelector('.js_variablewidth'); var multiSlides = document.querySelector('.js_multislides'); var ease = document.querySelector('.js_ease'); var events = document.querySelector('.js_events'); lory(simple, { infinite: 1, enableMouseEvents: true }); lory(percentage, { infinite: 1, enableMouseEvents: true }); lory(rewind, { rewind: true, enableMouseEvents: true }); lory(rewind_percentage, { rewind: true, enableMouseEvents: true }); lory(variableWidth, { rewind: true, enableMouseEvents: true }); lory(multiSlides, { infinite: 4, slidesToScroll: 4, enableMouseEvents: true }); lory(ease, { infinite: 4, slidesToScroll: 4, slideSpeed: 300, ease: 'cubic-bezier(0.455, 0.03, 0.515, 0.955)', enableMouseEvents: true }); function handleEvent(e) { var newSpan = document.createElement('span'); var time = new Date(); time = time.getHours() + ':' + time.getMinutes() + ':' + time.getSeconds() + ',' + time.getMilliseconds(); var newContent = document.createTextNode('[' + time + '] Event dispatched: "' + e.type + '"'); newSpan.appendChild(newContent); e.target.nextElementSibling.appendChild(newSpan); } events.addEventListener('before.lory.init', handleEvent); events.addEventListener('after.lory.init', handleEvent); events.addEventListener('before.lory.slide', handleEvent); events.addEventListener('after.lory.slide', handleEvent); events.addEventListener('on.lory.resize', handleEvent); events.addEventListener('on.lory.touchend', handleEvent); events.addEventListener('on.lory.touchmove', handleEvent); events.addEventListener('on.lory.touchstart', handleEvent); events.addEventListener('on.lory.destroy', handleEvent); lory(events, { infinite: 1 }); }); }); </script> </head> <body> <a class="dist" href="./dist/lory.min.js">Download Here</a> <section class="prerequisited"> <div class="examplecode"> <h2>Prerequisited Html structure<br><small><em>Class names can be changed through options</em></small></h2> <pre><code class="html"> <div class="slider js_slider"> <div class="frame js_frame"> <ul class="slides js_slides"> <li class="js_slide">1</li> <li class="js_slide">2</li> <li class="js_slide">3</li> <li class="js_slide">4</li> <li class="js_slide">5</li> <li class="js_slide">6</li> </ul> </div> </div> </code></pre> </div> <div class="examplecode"> <h2>Prerequisited CSS styles</h2> <pre><code class="css"> /** * (optional) define here the style definitions which should be applied on the slider container * e.g. width including further controls like arrows etc. */ .slider {} .frame { /** * (optional) wrapper width, specifies width of the slider frame. */ width: 880px; position: relative; font-size: 0; line-height: 0; overflow: hidden; white-space: nowrap; } .slides { display: inline-block; } li { position: relative; display: inline-block; /** * (optional) if the content inside the slide element has a defined size. */ width: 880px; } </code></pre> </div> </section> <section class="examples"> <h2>Single element - Fixed width [infinite]</h2> <div class="slider js_simple simple"> <div class="frame js_frame"> <ul class="slides js_slides"> <li class="js_slide">1</li> <li class="js_slide">2</li> <li class="js_slide">3</li> <li class="js_slide">4</li> <li class="js_slide">5</li> <li class="js_slide">6</li> </ul> </div> <span class="js_prev prev"> <svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" viewBox="0 0 501.5 501.5"><g><path fill="#2E435A" d="M302.67 90.877l55.77 55.508L254.575 250.75 358.44 355.116l-55.77 55.506L143.56 250.75z" /></g></svg> </span> <span class="js_next next"> <svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" viewBox="0 0 501.5 501.5"><g><path fill="#2E435A" d="M199.33 410.622l-55.77-55.508L247.425 250.75 143.56 146.384l55.77-55.507L358.44 250.75z" /></g></svg> </span> </div> <div class="examplecode"> <pre><code class="javascript"> document.addEventListener('DOMContentLoaded', function () { var simple = document.querySelector('.js_simple'); lory(simple, { infinite: 1 }); }); </code></pre> </div> <h2>Single element - Percentage width [infinite]</h2> <div class="slider js_percentage percentage"> <div class="frame js_frame"> <ul class="slides js_slides"> <li class="js_slide">1</li> <li class="js_slide">2</li> <li class="js_slide">3</li> <li class="js_slide">4</li> <li class="js_slide">5</li> <li class="js_slide">6</li> </ul> </div> <span class="js_prev prev"> <svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" viewBox="0 0 501.5 501.5"><g><path fill="#2E435A" d="M302.67 90.877l55.77 55.508L254.575 250.75 358.44 355.116l-55.77 55.506L143.56 250.75z" /></g></svg> </span> <span class="js_next next"> <svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" viewBox="0 0 501.5 501.5"><g><path fill="#2E435A" d="M199.33 410.622l-55.77-55.508L247.425 250.75 143.56 146.384l55.77-55.507L358.44 250.75z" /></g></svg> </span> </div> <div class="examplecode"> <pre><code class="javascript"> document.addEventListener('DOMContentLoaded', function () { var percentage = document.querySelector('.js_percentage'); lory(percentage, { infinite: 1 }); }); </code></pre> </div> <h2>Single element - Fixed width [rewind]</h2> <div class="slider js_rewind rewind"> <div class="frame js_frame"> <ul class="slides js_slides"> <li class="js_slide">1</li> <li class="js_slide">2</li> <li class="js_slide">3</li> <li class="js_slide">4</li> <li class="js_slide">5</li> <li class="js_slide">6</li> </ul> </div> <span class="js_prev prev"> <svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" viewBox="0 0 501.5 501.5"><g><path fill="#2E435A" d="M302.67 90.877l55.77 55.508L254.575 250.75 358.44 355.116l-55.77 55.506L143.56 250.75z" /></g></svg> </span> <span class="js_next next"> <svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" viewBox="0 0 501.5 501.5"><g><path fill="#2E435A" d="M199.33 410.622l-55.77-55.508L247.425 250.75 143.56 146.384l55.77-55.507L358.44 250.75z" /></g></svg> </span> </div> <div class="examplecode"> <pre><code class="javascript"> document.addEventListener('DOMContentLoaded', function () { var rewind = document.querySelector('.js_rewind'); lory(rewind, { rewind: true }); }); </code></pre> </div> <h2>Single element - Percentage width [rewind]</h2> <div class="slider js_rewind_percentage percentage"> <div class="frame js_frame"> <ul class="slides js_slides"> <li class="js_slide">1</li> <li class="js_slide">2</li> <li class="js_slide">3</li> <li class="js_slide">4</li> <li class="js_slide">5</li> <li class="js_slide">6</li> </ul> </div> <span class="js_prev prev"> <svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" viewBox="0 0 501.5 501.5"><g><path fill="#2E435A" d="M302.67 90.877l55.77 55.508L254.575 250.75 358.44 355.116l-55.77 55.506L143.56 250.75z" /></g></svg> </span> <span class="js_next next"> <svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" viewBox="0 0 501.5 501.5"><g><path fill="#2E435A" d="M199.33 410.622l-55.77-55.508L247.425 250.75 143.56 146.384l55.77-55.507L358.44 250.75z" /></g></svg> </span> </div> <div class="examplecode"> <pre><code class="javascript"> document.addEventListener('DOMContentLoaded', function () { var rewind_percentage = document.querySelector('.js_rewind_percentage'); lory(rewind_percentage, { rewind: true }); }); </code></pre> </div> <h2>Variable width</h2> <div class="slider js_variablewidth variablewidth"> <div class="frame js_frame"> <ul class="slides js_slides"> <li class="js_slide" style="width: 220px;">220</li> <li class="js_slide" style="width: 190px;">190</li> <li class="js_slide" style="width: 150px;">150</li> <li class="js_slide" style="width: 130px;">130</li> <li class="js_slide" style="width: 250px;">250</li> <li class="js_slide" style="width: 180px;">180</li> <li class="js_slide" style="width: 200px;">200</li> <li class="js_slide" style="width: 140px;">140</li> <li class="js_slide" style="width: 120px;">120</li> <li class="js_slide" style="width: 240px;">240</li> </ul> </div> <span class="js_prev prev"> <svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" viewBox="0 0 501.5 501.5"><g><path fill="#2E435A" d="M302.67 90.877l55.77 55.508L254.575 250.75 358.44 355.116l-55.77 55.506L143.56 250.75z" /></g></svg> </span> <span class="js_next next"> <svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" viewBox="0 0 501.5 501.5"><g><path fill="#2E435A" d="M199.33 410.622l-55.77-55.508L247.425 250.75 143.56 146.384l55.77-55.507L358.44 250.75z" /></g></svg> </span> </div> <div class="examplecode"> <pre><code class="javascript"> document.addEventListener('DOMContentLoaded', function () { var variableWidth = document.querySelector('.js_variablewlidth'); lory(variableWidth, { rewind: true }); }); </code></pre> </div> <h2>Multiple slides to scroll</h2> <div class="slider js_multislides multislides"> <div class="frame js_frame"> <ul class="slides js_slides"> <li class="js_slide">1</li> <li class="js_slide">2</li> <li class="js_slide">3</li> <li class="js_slide">4</li> <li class="js_slide">5</li> <li class="js_slide">6</li> <li class="js_slide">7</li> <li class="js_slide">8</li> <li class="js_slide">9</li> <li class="js_slide">10</li> <li class="js_slide">11</li> <li class="js_slide">12</li> </ul> </div> <span class="js_prev prev"> <svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" viewBox="0 0 501.5 501.5"><g><path fill="#2E435A" d="M302.67 90.877l55.77 55.508L254.575 250.75 358.44 355.116l-55.77 55.506L143.56 250.75z" /></g></svg> </span> <span class="js_next next"> <svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" viewBox="0 0 501.5 501.5"><g><path fill="#2E435A" d="M199.33 410.622l-55.77-55.508L247.425 250.75 143.56 146.384l55.77-55.507L358.44 250.75z" /></g></svg> </span> </div> <div class="examplecode"> <pre><code class="javascript"> document.addEventListener('DOMContentLoaded', function () { var multiSlides = document.querySelector('.js_multislides'); lory(multiSlides, { infinite: 4, slidesToScroll: 4 }); }); </code></pre> </div> <h2>Custom easings</h2> <div class="slider js_ease ease"> <div class="frame js_frame"> <ul class="slides js_slides"> <li class="js_slide">1</li> <li class="js_slide">2</li> <li class="js_slide">3</li> <li class="js_slide">4</li> <li class="js_slide">5</li> <li class="js_slide">6</li> <li class="js_slide">7</li> <li class="js_slide">8</li> <li class="js_slide">9</li> <li class="js_slide">10</li> <li class="js_slide">11</li> <li class="js_slide">12</li> </ul> </div> <span class="js_prev prev"> <svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" viewBox="0 0 501.5 501.5"><g><path fill="#2E435A" d="M302.67 90.877l55.77 55.508L254.575 250.75 358.44 355.116l-55.77 55.506L143.56 250.75z" /></g></svg> </span> <span class="js_next next"> <svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" viewBox="0 0 501.5 501.5"><g><path fill="#2E435A" d="M199.33 410.622l-55.77-55.508L247.425 250.75 143.56 146.384l55.77-55.507L358.44 250.75z" /></g></svg> </span> </div> <div class="examplecode"> <pre><code class="javascript"> document.addEventListener('DOMContentLoaded', function () { var ease = document.querySelector('.js_ease'); // http://easings.net/ lory(ease, { infinite: 4, slidesToScroll: 4, slideSpeed: 1000, ease: 'cubic-bezier(0.455, 0.03, 0.515, 0.955)' }); }); </code></pre> </div> <h2>Showing events</h2> <div class="slider js_events events"> <div class="frame js_frame"> <ul class="slides js_slides"> <li class="js_slide">1</li> <li class="js_slide">2</li> <li class="js_slide">3</li> <li class="js_slide">4</li> <li class="js_slide">5</li> <li class="js_slide">6</li> </ul> </div> <span class="js_prev prev"> <svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" viewBox="0 0 501.5 501.5"><g><path fill="#2E435A" d="M302.67 90.877l55.77 55.508L254.575 250.75 358.44 355.116l-55.77 55.506L143.56 250.75z" /></g></svg> </span> <span class="js_next next"> <svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" viewBox="0 0 501.5 501.5"><g><path fill="#2E435A" d="M199.33 410.622l-55.77-55.508L247.425 250.75 143.56 146.384l55.77-55.507L358.44 250.75z" /></g></svg> </span> </div> <code class="events_log"></code> <div class="examplecode"> <pre><code class="javascript"> document.addEventListener('DOMContentLoaded', function () { var events = document.querySelector('.js_events'); function handleEvent(e) { var newSpan = document.createElement('span'); var time = new Date(); time = time.getHours() + ':' + time.getMinutes() + ':' + time.getSeconds() + ',' + time.getMilliseconds(); var newContent = document.createTextNode('[' + time + '] Event dispatched: "' + e.type + '"'); newSpan.appendChild(newContent); e.target.nextElementSibling.appendChild(newSpan); } events.addEventListener('before.lory.init', handleEvent); events.addEventListener('after.lory.init', handleEvent); events.addEventListener('before.lory.slide', handleEvent); events.addEventListener('after.lory.slide', handleEvent); events.addEventListener('on.lory.resize', handleEvent); events.addEventListener('on.lory.touchend', handleEvent); events.addEventListener('on.lory.touchmove', handleEvent); events.addEventListener('on.lory.touchstart', handleEvent); events.addEventListener('on.lory.destroy', handleEvent); lory(events, { infinite: 1 }); }); </code></pre> </div> </section> <section class="multiplesliders"> <h2>initialize multiple similiar sliders</h2> <div class="examplecode"> <pre><code class="javascript"> 'use strict'; document.addEventListener('DOMContentLoaded', function () { Array.prototype.slice.call(document.querySelectorAll('.js_slider')).forEach(function (element, index) { lory(element, {}); }); }); </code></pre> </div> </section> <section class="commonJS"> <h2>Consume it as a commonJS module</h2> <div class="examplecode"> <pre><code class="javascript"> "use strict"; var lory = require('lory.js').lory; document.addEventListener('DOMContentLoaded', function() { var slider = document.querySelector('.js_slider'); lory(slider, { // options going here }); }); </code></pre> </div> </section> <section class="ES2015"> <h2>Consume it as an ES2015 module</h2> <div class="examplecode"> <pre><code class="javascript"> import {lory} from 'lory.js'; document.addEventListener('DOMContentLoaded', () => { const slider = document.querySelector('.js_slider'); lory(slider, { // options going here }); }); </code></pre> </div> <section class="jquery"> <h2>Use it as a jQuery Plugin</h2> <div class="examplecode"> <pre><code class="html"> <script src="js/jquery.lory.min.js"></script> </code></pre> </div> <div class="examplecode"> <pre><code class="javascript"> 'use strict'; var $elements = $('.js_simple'); $(function() { $elements.lory({ infinite: 1 }); $elements.data().lory.slideTo(4); // $elements.data().lory.prev(); // $elements.data().lory.next(); }); </code></pre> </div> </section> <section class="development"> <h2>Local development</h2> <div class="examplecode"> <pre><code class="shell"> // To install dev dependencies run: npm install // To start the development server run: npm start // To lint your code run: npm run lint // To make a full new build run: npm run build </code></pre> </div> </section> <section class="tests"> <h2>Run tests</h2> <div class="examplecode"> <pre><code class="shell"> // To install dev dependencies run: npm install // To start karma in chrome browser and run tests: npm run karma </code></pre> </div> </section> <section class="api"> <h2>Public API</h2> <table> <tr> <th>prev:</th> <td>slides to the previous slide</td> </tr> <tr> <th>next:</th> <td>slides to the next slide</td> </tr> <tr> <th>slideTo:</th> <td>slides to the index given as an argument: (arguments: index {number})</td> </tr> <tr> <th>returnIndex:</th> <td>returns the index of the current slide element</td> </tr> <tr> <th>setup:</th> <td>binds eventlisteners, merging default and user options, setup the slides based on DOM (called once during initialisation)</td> <td>Call setup if DOM or user options have changed or eventlisteners needs to be rebinded.</td> </tr> <tr> <th>reset:</th> <td>sets the slider back to the starting position and resets the current index (called on Resize event)</td> </tr> <tr> <th>destroy:</th> <td>unmount/destroy the instance of lory</td> </tr> </table> </section> <section class="options"> <h2>Options</h2> <table> <tr> <th>slidesToScroll</th> <td>slides scrolled at once</td> <td>default: 1</td> </tr> <tr> <th>enableMouseEvents</th> <td>enabled mouse events</td> <td>default: false</td> </tr> <tr> <th>infinite</th> <td>like carousel, works with multiple slides. (do not combine with rewind)</td> <td>default: false (number of visible slides)</td> </tr> <tr> <th>rewind</th> <td>if slider reached the last slide, with next click the slider goes back to the startindex. (do not combine with infinite)</td> <td>default: false</td> </tr> <tr> <th>slideSpeed</th> <td>time in milliseconds for the animation of a valid slide attempt</td> <td>default: 300</td> </tr> <tr> <th>rewindSpeed</th> <td>time in milliseconds for the animation of the rewind after the last slide</td> <td>default: 600</td> </tr> <tr> <th>snapBackSpeed</th> <td>time for the snapBack of the slider if the slide attempt was not valid</td> <td>default: 200</td> </tr> <tr> <th>ease</th> <td>cubic bezier easing functions: http://easings.net/de</td> <td>default: 'ease'</td> </tr> <tr> <th>classNameFrame</th> <td>class name for slider frame</td> <td>default: 'js_frame'</td> </tr> <tr> <th>classNameSlideContainer</th> <td>class name for slides container</td> <td>default: 'js_slides'</td> </tr> <tr> <th>classNamePrevCtrl</th> <td>class name for slider previous control</td> <td>default: 'js_prev'</td> </tr> <tr> <th>classNameNextCtrl</th> <td>class name for slider next control</td> <td>default: 'js_next'</td> </tr> </table> </section> <section class="hooks"> <h2>Events</h2> <table> <tr> <th>before.lory.init</th> <td>fires before initialisation (first in setup function)</td> </tr> <tr> <th>after.lory.init</th> <td>fires after initialisation (end of setup function)</td> </tr> <tr> <th>before.lory.slide</th> <td><strong>arguments:</strong> currentSlide, nextSlide</td> <td>fires before slide change</td> </tr> <tr> <th>after.lory.slide</th> <td><strong>arguments:</strong> currentSlide</td> <td>fires after slide change</td> </tr> <tr> <th>on.lory.resize</th> <td>fires on every resize event</td> </tr> <tr> <th>on.lory.touchstart</th> <td>fires on every slider touchstart event</td> </tr> <tr> <th>on.lory.touchmove</th> <td>fires on every slider touchmove event</td> </tr> <tr> <th>on.lory.touchend</th> <td>fires on every slider touchend event</td> </tr> <tr> <th>on.lory.destroy</th> <td>fires when the slider instance gets destroyed</td> </tr> </table> </section> <footer> Copyright © 2015 Maximilian Heinz, contributors. Released under the MIT license </footer> </body> </html>
- coderunner.js是一款支持47种编程语言代码实时运行器插件
- idb.js 是一个用于简化在浏览器中使用 IndexedDB 的 JavaScript插件
- chinese_lunar_calendar.js是一款公历阳历转换成农历时间等信息的插件
- midiwriter是一款浏览器中生成多轨midi音频声音的插件
- Annyang:是一款用于语音识别的轻量级 JavaScript 库
- jointjs是交互流程图工作流图表插件
- pptxgen.js是一款支持nodejs和浏览器环境生成ppt演示文稿插件
- framer-motion是一款react动画库
- localforage.js是浏览器端本地数据持久化存储插件
- lz-string是一款基于LZ算法的压缩插件
- 在线AI文本写作写诗写小说文案工具
- 在线合同示范范本模板库工具
- 在线百度文库文档资料免费下载工具
- 在线java代码运行IDE
- 在线php代码运行IDE
- 在线python代码运行IDE
- 在线go代码运行IDE
- 在线c#代码运行IDE
- 在线c代码运行IDE
- 在线html代码运行IDE
- 在线http api调试及api文档工具
- 在线c++代码运行WEBIDE
- 在线typescript代码运行WEBIDE
- 在线vb代码运行WEBIDE
- 在线D语言代码运行WEBIDE
- 在线F#语言代码运行WEBIDE
- 在线SQL代码运行WEBIDE
- 在线Julia代码运行WEBIDE
- 在线Ruby代码运行WEBIDE
- 在线Kotlin代码运行WEBIDE
- 在线Dart代码运行WEBIDE
- 在线Groovy代码运行WEBIDE
- 在线R代码运行WEBIDE
- 在线Perl代码运行WEBIDE
- 在线Lua代码运行WEBIDE
- 在线Vala代码运行WEBIDE
- 在线Ocaml代码运行WEBIDE
- 在线汇编代码运行WEBIDE
- 在线Object C代码运行WEBIDE
- 在线Scala代码运行WEBIDE
- 在线Swift代码运行WEBIDE
- 在线Erlang代码运行WEBIDE
- 在线Pascal代码运行WEBIDE
- 在线Lisp代码运行WEBIDE
- 在线Fortran代码运行WEBIDE
- 在线Bash代码运行WEBIDE
- 在线Clojure代码运行WEBIDE
- 在线Ada代码运行WEBIDE
- 在线Elixir代码运行WEBIDE
- 在线Cobol代码运行WEBIDE
- 在线Haskell代码运行WEBIDE
- 在线代码可视化执行过程工具
- 在线layui表单拖拽生成器工具
- 在线变量命名神器工具
- 在线ai程序员编程工具箱
- 在线免费假数据REST api接口工具
- 在线AI文本描述开发生成app应用工具
- 在线AI编程助手工具
- 在线编程挑战平台
- 在线可视化拖拽开发llm大语言模型应用工具
- 在线ai根据文本描述生成网页react代码
- 在线css grid网格布局可视化代码生成器工具
- 在线网页背景代码生成器工具
- 在线拟物风格盒子阴影css代码生成器工具
- 在线各种图形css代码工具
- 在线loading加载动画css代码库工具
- 在线clip-path可视化编辑css代码生成工具
- 在线es6 js代码babel编译转换工具
- 在线ai帮你写代码编程问答工具
- 在线时间戳转换工具
- 在线打开sqlite数据库工具
- 在线redis工具
- 在线SQLite、Oracle、MariaDB数据库工具
- 在线录音工具
- 在线AI视频剪辑工具导航
- 在线配音文字转语音tts工具导航
- 在线音乐音频提取分离人声与伴奏工具
- 在线抖音视频去除水印工具
- 在线AI视频背景抠图去水印抹除工具
- 在线文本文字转语音播报工具
- 在线AI文字文案文章生成转视频工具
- 在线免费视频素材库
- 在线变声(男变女、女变男)工具
- 在线m3u8、rtmp、hls、flv直播录播视频播放工具
- 在线视频音频文件转文字字幕工具
- 在线视频格式转换工具
- 在线ai自动创作生成无版权背景音乐工具
- 在线AI文本描述生成视频文生视频工具
- 在线m3u8转换mp4下载工具
- 在线万能视频下载工具
- 在线AI数字人克隆工具(包括人像与声音克隆)
- 在线ai视频字幕制作工具
- 在线文本转语音和语音克隆工具
- 在线AI视频口型与声音本地化翻译工具
- 在线ai视频风格化工具
- 在线ai音频语音翻译配音工具
- 在线短视频ai智能编辑工具
- 在线ai视频编辑工具
- 在线音乐声音生成mtv视频工具
- 在线ai会议实时语音转写文字工具
- 在线ai自动拍摄生成电影视频电视剧工具
- 在线ai创作原创人声音乐工具
- 在线长视频ai剪辑成短视频工具
- 在线视频裁剪转码格式转换生成gif工具
- 在线ai视频人物替换成机器人工具
- 在线ai声音克隆工具
- 在线让你的声音克隆艺人唱歌工具
- 在线文本转手语视频工具
- 在线声音格式转换工具
- 在线ai声音音频降噪去噪增强修复工具
- 在线视频变清晰增强修复工具
- 在线视频压缩工具
- 在线视频任意物体人物抠图追踪遮罩工具
- 在线视频人物角色ai替换换人工具
- 在线录屏工具
- 在线AI视频风格重绘转绘工具
- 在线ai生成故事短片制作工具
- 在线免费离线语音识别转文字工具
- 在线AI无声视频人物说话唇语识别工具
- 在线AI图片转视频特效工具
- 在线站长工具网站统计导航
- 在线dns及ip查询相关工具
- 在线网站seo工具大全
- 在线网站优化工具
- 在线网站网页信息检测体检工具
- 在线正则匹配工具
- 在线正则表达式可视化工具
- 在线正则表达式模板工具
- 自媒体公众平台网址导航
- 在线ip地址转换工具
- 在线获得本机ip地址工具
- 在线数字转中文大写金额工具
- 在线pdf转换编辑处理工具合集
- 在线文字转声音播放工具
- 在线代码截图美化工具
- 在线思维导图制作工具
- 在线流程图制作工具
- 在线扫描主机端口是否开放工具
- 所有pc及移动设备浏览器user-agent
- 在线便签记事本工具
- emmet语法指南手册
- animate.css常见动画效果合集及classname类名
- 在线robots.txt文件生成工具
- 在线htpasswd生成器工具
- 在线屏幕颜色提取器取色器拾色器工具
- 在线计算器工具
- 在线代码转图片美化截图工具
- 在线markdown编辑器工具
- 在线农历老黄历日历工具
- 在线随机密码生成器工具
- 学术科研论文网站导航
- 在线文字统计工具
- 在线低代码无代码0代码应用平台导航
- 在线邀请函投票问卷调查h5工具导航
- 在线翻译工具导航
- 在线项目管理团队协作任务管理工具导航
- 在线算法可视化工具
- 在线办公文档pdf word ppt excel工具导航
- 求职招聘接私活外包网址导航
- 域名注册云服务器导航
- 在线网盘云盘网站导航
- 在线科技技术资讯网站导航
- 在线技术课程学习网站导航
- 在线代码托管网站导航
- 在线短链接短网址生成工具导航
- 在线免费代理ip地址服务工具导航
- 开源镜像网站导航
- 在线图片转文字ocr识别工具导航
- 在线数字人虚拟人三维模型视频制作生成工具导航
- 在线代码AST抽象语法树可视化工具
- 在线常用按钮悬浮及加载动画合集代码cssfx
- 在线域名网站app小程序icp备案查询工具
- 在线商标信息查询及注册导航
- 在线WASI程序运行工具
- 在线文档音视频图片格式转换工具
- 在线linux命令大全查询学习工具
- 在线以图搜图查找相似图片工具导航
- 在线base64字符串转文件工具
- 在线操作系统镜像下载
- 在线AI工具箱大全
- 在线ai人工智能模型库数据集
- 在线CLIP-Interrogator图片生成文本prompt工具
- 在线虚拟主机网站空间vps云服务器导航
- DALL·E, Midjourney, Stable Diffusion, ChatGPT提示语库
- 在线ai内容检测工具
- 在线ai文字聊天类助手工具导航
- 在线根据ip地址查询省市区经纬度位置工具
- ai自动化处理autogpt工具
- 在线AI网站搭建建站工具
- 在线ChatGPT、Claude等AI prompt提示语库工具
- 在线AI视频本地化翻译配音工具
- 在线Ai换脸工具
- 在线AI文本生成三维模型工具
- 在线图片隐写工具
- 在线零宽字符unicode文字隐写工具
- 在线ai知识论文技术搜索工具
- 在线全球虚拟手机接收短信工具
- 在线linux命令搜索解释工具
- 在线大文件免费端对端加密中转下载传输工具
- 在线ai电商模特换装试衣工具
- 在线照片视频生成现实世界三维模型工具
- 在线自媒体多平台自动同步一键分发发布工具
- 在线测网速工具
- 在线训练生成自己的文生图和视频模型工具
- 在线万能文件格式转换工具
- 在线外语学习工具
- 在线临时邮箱一次性邮箱工具
- 在线ai数据分析生成图表报表工具
- 在线浏览器指纹唯一信息查询工具
- 在线css、js浏览器特性兼容性查询工具
- 在线互联网设备搜索工具
- 在线ai大模型推理可视化工具
- 在线ai识别照片拍摄地点经纬度工具
- 在线免费二级域名dns解析工具
- 在线ui元素组件动画库css工具
- 在线木马病毒文件检测工具
- 在线检测查找自己的隐私信息是否泄漏工具
- 在线字体转换工具
- 在线身份地址信用卡信息生成器工具
- 在线身份证号码验证及查询信息工具
- 在线身份证号码及姓名批量生成器工具
- 在线本地ip6地址是否支持及查询工具
- 在线ai智能体工具
- 在线影视剧台词搜索查找工具
- 在线图表制作工具
- 在线AI算力平台导航工具
- 在线国家永久基本农田查询工具
- 在线图片中文字字体及商用版权检测工具
- 在线html网页添加密码加密授权访问打开运行工具
- 在线ai文本描述创建3d游戏工具
- 在线三维模型设计导入编辑导出工具
- 在线三维3d模型库元宇宙导航
- 在线三维模型格式转换工具
- 在线免费可商用三维动画库
- 在线图片生成三维模型工具
- 在线人物照片生成三维头部模型工具
- 在线fbx三维模型动作库下载工具
- 在线vrm三维模型本地打开预览工具
- 在线文本描述或图片或视频生成三维动作数据工具
- 在线格式化json数据工具
- 在线图片压缩工具
- 在线图片裁剪工具
- 在线icon生成工具
- 在线gif分解拆分图片工具
- 在线ps图像处理工具
- 在线图片base64工具
- 在线图片转svg工具
- 在线svg转图片工具
- 在线生成二维码工具
- 在线二维码识别工具
- 在线svg转base64工具
- 在线判断图片是否ps过工具
- 在线打开预览pdf转图片下载工具
- 在线生成各种类型条形码工具
- 在线生成现实中不存在虚拟人物照片头像工具
- 在线位图图片转svg矢量图工具
- 在线图片加水印工具
- 在线图片背景消除抠图工具导航
- 在线图片涂抹清除物体水印工具导航
- 在线ps图片编辑处理工具导航
- 在线图片无损放大变清晰工具导航
- 在线智能证件照制作一站式工具
- 在线网页图片批量下载工具
- 在线人物图像转换成卡通漫画图像工具
- 在线二维码美化工具
- 在线ios安卓web应用程序图标批量生成器工具
- 在线图片批量压缩工具
- 在线AI多图融合工具
- 在线pdf、word文件文档转扫描打印图片效果工具
- 在线svg图片压缩工具
- 在线图片生成证件照工具
- 在线ai生成用户专业肖像工具
- 在线jpg、png、gif位图图片转svg、pdf、eps矢量图工具
- 在线ai照片写真生成工具
- 在线png、jpeg等图片批量转换成webp格式工具
- 在线html属性清除工具
- 清除html标签转换成纯文本工具
- 在线复制网页过滤样式工具
- 在线去除文本空格工具
- 在线MD5 SHA1 AES加密工具
- 在线RSA非对称加密工具
- 在线流程图拓扑图绘制工具
- 在线SVG图形绘制工具
- 在线拖拽生成网页工具
- 在线bootstrap拖拽生成网页工具
- 在线xmind思维导图工具
- 在线bootstrap模块化精美网页设计工具
- avue表单拖拽设计器
- elementui表单在线生成器
- 在线ppt PowerPoint演示文档制作工具
- 在线logo ai设计制作工具导航
- 在线AI产品原型UI设计制作工具导航
- 在线AI广告条海报banner设计工具导航
- 在线设计灵感网站导航
- 在线画板工具
- 在线配色工具导航
- 在线文本生成图片AI绘画画画绘图文生图及图片编辑修改工具
- 在线简历制作工具
- 在线可视化拖拽网页设计工具
- 在线公众号文章图文排版工具
- 在线图片转Ascii码工具
- 在线文字描述生成图片艺术画作工具
- 在线免费透明免扣图片素材导航
- 在线多图片合成制作gif动图工具
- 在线ai文本智能生成制作ppt工具
- 在线ai装修设计工具
- 在线AI文本生成app ui原型图效果图工具
- AI将照片变成高清矢量图工具
- 在线AI克隆自己工具
- 在线ai帮你设计与发布部署网站工具
- 在线三维模型场景设计工具
- 在线代码ppt展示工具
- 在线图片视频文字AI生成3d模型工具
- 在线个人简历简历生成工具
- 在线ai配色工具
- 在线ai创作故事生成漫画工具
- 在线ui设计调色工具
- 在线人体姿势姿态参考图库工具
- 在线ui截图设计生成前端代码工具
- 在线截屏截图美化背景工具
- 在线文章封面图片生成器工具
- 在线3d三维包装设计工具
- 在线商品产品主图背景替换工具
- 在线卡通人物头像生成器工具
- 在线AI手绘草图转高精度图形工具
- 在线ai文本提示词生成透明背景矢量图工具
- 在线动态图表生成工具
- 在线ai生成创意文字图片工具
- 在线emoji表情大全集合工具
- 在线AI更换发型工具
- 在线简易3d图形设计工具
- 在线svg动画库集合工具
- 在线多张图片拼接拼筹任意图形工具
- 在线动画动效图标库工具
- 在线ai造字字体克隆生成工具
- 在线免费psd和xd模板库下载工具
- 在线AI绘画灵感风格提示词库工具
- 在线文本描述生成图表工具
- 在线3d三维交互网站设计工具
- 在线故事板制作工具
- 在线ai人物姿态动作视频转fbx三维模型动作工具
- 在线ai生成儿童绘本工具
- 在线2d与3d三维架构图设计工具
- 在线ai文本描述修改编辑图片工具
- 在线发明专利申请
- 在线软著软件作品著作权申请知识产权版权保护
- 在线文本对比工具
- 在线颜色转换工具
- 网页设计师配色表
- 在线html、js格式化压缩混淆工具
- 在线css格式化压缩工具
- 在线去除html中多余css代码的工具
- 在线less转css工具
- 在线javascript代码混淆工具
- 在线javascript混淆加密js代码解码反编译反混淆解密工具
- 在线php代码加密解密混淆工具
- 在线中文与Unicode转换工具
- 在线中文转Ascii工具
- 在线中文转UTF-8工具
- 在线URL编码解码工具
- 在线汉字转拼音工具
- 在线进制转换工具
- 在线字符转hex互转工具
- 在线html代码转义工具
- 在线图片字体等文件转base64工具
- 在线vue文件解析预览转换html工具
- 在线斜杠x十六进制编码解码解密
- 在线xml与json互相转换工具
- 在线中文简体与繁体相互转换工具
- 在线sass、scss转css代码工具
- 在线pug转html工具
- 在线Stylus代码转CSS代码工具
- 在线base64编码解码解密工具
- 在线编码解码加密解密工具大全
- 在线任意文件转base64字符串格式工具
- 在线typescript转JavaScript代码工具
- 在线PlantUML文本生成流程图工具
- 在线haml代码转html工具
- html特殊字符表在线工具
- 所有http状态码解释
- 在线免费图标库工具导航
- 在线免费图片资源素材库工具导航
- 在线AI插画插图素材工具导航
- 在线免费商用字体库导航
- 在线免费音效声效音乐AI声音素材库工具导航
- 在线三维3d图标素材库
网友评论0