如何在vue中引入第三方jquery,swiper等库

如何在vue中引入第三方jquery,swiper等库,第1张

一 引入swiper(全局,局部)

方法一:全局引入,也是最暴力的,但是也是有好处坏处(同时加载,但是不能保证同时下载)

<link href="

组件中可以直接使用的swiper了

_initSwiper() {        const container = this$refsswiper;        const config = {

         effect: 'coverflow',

         slidesPerView: 'auto',

         centeredSlides: true,

         initialSlide: thisactiveIndex,

         loop: true,

         autoplay: 1000,

         speed: 1000,

         coverflow: {

           rotate: 0,

           stretch: -30,

           depth: 100,

           modifier: 07,

           slideShadows: false,

         },

       };    thismySwiper = new Swiper(container, config);

}1234567891011121314151617181920

2方法二:mainjs 中

import '/node_modules/swiper/dist/css/swipermincss';import 'swiper';12

执行上面的_initSwiper()的方法 即可

3方法三:局部的引入的,有时只想的单个组件中使用某一个的库,方法如下

<section ref="swiper" class="swiper-container">

 <div class="swiper-wrapper">

    <div class="demo swiper-slide" v-for="item in colorList" :style="`backgroundColor:${item}`"></div>

     </div></section><script>

 let swiperAsync = import('swiper') //引入的swiperjs(node_modules)的方法

 export default {

 data(){      return {

       colorList: ['red', 'yellow', 'gray', 'pink']

     }

   },

   methods: {

     async _initSwiper() {        let Swiper = await swiperAsync; //异步加载的

       const container = this$refsswiper; //ref='swiper'

       const config = {  //swiper的参数配置

         effect: 'coverflow',

         slidesPerView: 'auto',

         centeredSlides: true,

         initialSlide: thisactiveIndex,

         loop: true,

         autoplay: 1000,

         speed: 1000,

         coverflow: {

           rotate: 0,

           stretch: -30,

           depth: 100,

           modifier: 07,

           slideShadows: false,

         },

       };        thismySwiper = new Swiper(container, config);

     },

   },

   mounted(){      this_initSwiper();

   }

 }</script><style lang="scss" scoped>

 /@import '/assets/styles/swipermincss'; !静态资源的文件!/

 @import '//node_modules/swiper/dist/css/swipermincss';</style>12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849

二 引入的jquery的方法

全局的方法

<script src="

组件中可以直接使用的 ‘$’的方法

局部的方法:

npm install jquery -D1

需要使用的组件中引入

import $ from 'jquery'1

windowonload=function(){

        waterfall();

        windowonscroll=function(){

            

    var parent=documentgetElementById("main");

    var boxs=getByClass(parent,"box");

    var scrollH=documentdocumentElementscrollTop||documentbodyscrollTop;

       var documentH=scrollH+documentdocumentElementclientHeight;

    var    lastH=boxs[boxslength-1]offsetTop+Mathfloor(boxs[boxslength-1]offsetHeight/2);

       /763/

     

        if(lastH-350<documentH){      //这里的lastH不减掉350,就无法进入if语句???

                                /465/

dataInt={"data":[{"src":"1jpg"},{"src":"2jpg"},{"src":"3jpg"},{"src":"7jpg"},{"src":"4jpg"},{"src":"5jpg"},{"src":"6jpg"}]};

for(var i=0;i<dataIntdatalength;i++){

        var divB=documentcreateElement("div");

        divBclassName="box";

        parentappendChild(divB);

        var divP=documentcreateElement("div");

        divPclassName="pic";

        divBappendChild(divP);

        myimg=documentcreateElement("img");

        myimgsrc="/images/"+dataIntdata[i]src;

        

        divPappendChild(myimg);

}

waterfall();

}

}

}

function waterfall(){

    

var oParent=documentgetElementById("main");

var boxs=getByClass(oParent,"box");

var boxW=boxs[0]offsetWidth;

var num=Mathfloor(documentdocumentElementclientWidth/boxW);

oParentstylecssText="width:"+boxWnum+"px;margin:0 auto;";

  

    boxHarr=new Array();

    for(var i=0;i<boxslength;i++){

        if(i<num){

            boxHarrpush(boxs[i]offsetHeight);

        }else{

           

            var minH=Mathminapply(null,boxHarr);

            var minHindex=getminHindex(boxHarr,minH);

            boxs[i]styleposition="absolute";

            boxs[i]styletop=minH+"px";

            boxs[i]styleleft=minHindexboxW+"px";

            //boxs[i]styleleft=boxs[minHindex]offsetLeft+"px";

            boxHarr[minHindex]=boxHarr[minHindex]+boxs[i]offsetHeight;

        }

    }

}

function getByClass(parent,clsName){

    a=parentgetElementsByTagName('');

    var arr=[];

    for(var i=0;i<alength;i++){

        if(a[i]className==clsName){

            arrpush(a[i]);

        }

    }

    return arr;

}

function getminHindex(arr,minH){

    

    for(var i in arr){

        if(arr[i]==minH)

            return i;    

    }

}

在Vuejs中使用jquery插件需要利用 ProvidePlugin导入jquery全局库。 1、在build/webpackdevconfjs和build/webpackprodconfjs中配置即可

1先直接砍了jq然后用vue重构。

2逐条分析你用jq完成的功能,然后列出来,用vue找到合适的替代方案,比如class *** 作用绑定class判断去做,隐藏显示元素用v-if或是v-show,ajax用axios等等。

jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(框架)于2006年1月由John Resig发布。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。

它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档 *** 作、事件处理、动画设计和Ajax交互。

jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口。具有高效灵活的CSS选择器,并且可对CSS选择器进行扩展。拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 60+、FF 15+、Safari 20+、Opera 90+等。

当时John的想法很简单:他发现这种语法相对现有的JavaScript库更为简洁。但他没想到的是,这篇文章一经发布就引起了业界的关注。

于是John开始认真思考着这件事情(编写语法更为简洁的JavaScript程序库),直到2006年1月14日,John正式宣布以jQuery的名称发布自己的程序库。随之而来的是jQuery的快速发展。

2006年1月John Resig等人创建了jQuery。8月jQuery的第一个稳定版本,并且已经支持CSS选择符、事件处理和AJAX交互。

2007年7月,jQuery113版发布,这次小版本的变化包含了对jQuery选择符引擎执行速度的显著提升。从这个版本开始,jQuery的性能达到了Prototype、Mootools以及Dojo等同类JavaScript库的水平。

同年9月,jQuery12版发布,它去掉了对XPath选择符的支持,原因是相对于CSS语法它已经变得多余了。这一版能够对效果进行更为灵活的定制,而且借助新增的命名空间事件,也使插件开发变得更容易。

这个新的套件是作为曾经流行但已过时的Interface插件的替代项目而发布的。jQuery UI中包含大量预定义好的部件(widget),以及一组用于构建高级元素(例如可拖放、拖拽、排序)的工具。

近日在使用vue开发项目的时候,因需要使用到一个依赖jquery的第三方轮播图插件—— Ipresenter ,因此归纳了一个最为实用的在vue项目里引用jquery以及依赖jquery的第三方插件的方法,以下为具体使用方法。

安装jquery

新建一个vendorjs文件,再在组件里引入即可。

在需要使用的页面引入即可(如需全局引用只需要在mainjs引入即可。),例如:

这样一来就成功的在vue项目里引入了jquery和依赖jquery的第三方插件。且无需配置webpack的plugins。

而且经测试发现即使通过配置webpack的plugins来引入了jquery,但是在引入插件的时候还是会报 jQuery is not defined 的错误,不信可以自己试试。

最终实现效果:

这问题真的恐怖 既然你都是v-text绑定上去的 那么在vue中直接 this v-text中的放入的变量名不就行了 如果你真的需要用jQuery获取值 那么直接用$("选择器")html()就能获取了

jQuery对象是通过jQuery包装DOM对象后产生的对象

注意:jQuery对象只能使用jQuery里的方法,DOM对象只能使用DOM对象的方法

基本选择器

层级选择器:

基本筛选器:

属性选择器:

表单筛选器:

筛选器方法:

jQuery的一些方法:

注意:对于标签上有的能够看到的属性和自定义属性用attr()方法

对于返回布尔值比如checkbox,radion,option这三个标签是否被选中,用prop方法

事件绑定方式:

注意:DOM定义的事件可以用 on()方法来绑定事件,但是jQuery定义的事件就不可以

常用事件有:

移除事件:把on改成off,就是移除 on()绑定的事件

阻止后续事件执行:事件函数中添加 return false; (常用于阻止表单提交等)或者epreventDefault()

阻止事件冒泡:添加estopPropagation()

利用父标签去捕获子标签的事件

推荐阅读:

前端开发框架之jQuery 和 Vue 的选择

前端开发之15个jQuery小技巧分享

前端开发之JQuery入门基础 *** 作

前端开发框架jQuery的优势与基础知识分享

updated(){

    // 点击内容中参考文献右侧参考文献加粗

    this$nextTick(function () {

      // 页面渲染完成之后

      $("#XMLContent sup a[type='reference']")click(function(e){

        estopPropagation()

        let subId = $(this)attr('id')

        $('note-list li a')each(function(){

          if($(this)hasClass(subId)){

            $(this)addClass('subfont')siblings()removeClass('subfont')

          }else{

            $(this)removeClass('subfont')

          }

        })

      })

    });

  },

以上就是关于如何在vue中引入第三方jquery,swiper等库全部的内容,包括:如何在vue中引入第三方jquery,swiper等库、vue里,我用jq去获取元素的offsettop出现问题、怎样在Vue.js中使用jquery插件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9730253.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存