色噜噜人体337p人体 I 超碰97观看 I 91久久香蕉国产日韩欧美9色 I 色婷婷我要去我去也 I 日本午夜a I 国产av高清怡春院 I 桃色精品 I 91香蕉国产 I 另类小说第一页 I 日操夜夜操 I 久久性色 I 日韩欧在线 I 国产深夜在线观看 I 免费的av I 18在线观看视频 I 他也色在线视频 I 亚洲熟女中文字幕男人总站 I 亚洲国产综合精品中文第一 I 人妻丰满熟av无码区hd I 新黄色网址 I 国产精品真实灌醉女在线播放 I 欧美巨大荫蒂茸毛毛人妖 I 国产一区欧美 I 欧洲亚洲1卡二卡三卡2021 I 国产亚洲欧美在线观看三区 I 97精品无人区乱码在线观看 I 欧美妇人 I 96精品在线视频 I 国产人免费视频在线观看 I 91麻豆国产福利在线观看

js代碼改寫成jq代碼的方法

時間:2022-05-02 08:01:58 改寫 我要投稿
  • 相關推薦

js代碼改寫成jq代碼的方法

  js代碼改寫成jq代碼篇一:jQuery工作原理解析以及源代碼示例

  jQuery的開篇聲明里有一段非常重要的話:jQuery是為了改變javascript的編碼方式而設計的。從這段話可以看出jQuery本身并不是UI組件庫或其他的一般AJAX類庫。jQuery改變javascript編碼方式!

  那么它是如何實現它的聲明的呢?這里,用以下的一段簡短的使用流程:

  1、查找(創建)jQuery對象:$("selector");

  2、調用jQuery對象的方法完成我們需要完成的工作:$("selector").doOurWork();好了,jQuery就是以這種可以說是最簡單的編碼邏輯來改變javascript編碼方式的。這兩個步驟是jQuery的編碼邏輯核心!

  要實現這種簡潔編碼方式,創建jQuery對象這一環節至關重要。因此,jQuery的dom元素查找能力相當強悍。此外,jQuery對象的方法肯定是有限的,有限的方法滿足不了日益增長各有所需的要求,所以,必須提供jQuery對象方法的擴展能力。

  強悍的dom元素查找能力,以及隨心所欲的方法擴展,這兩點正是jQuery的核心所在!來一個簡單的示例,來說明jQuery是如何工作的:

  <!DOCTYPEhtmlPUBLIC”-//W3C//DTDXHTML1.0

  Transitional//EN”””>baidu

  $(function(){

  $(“a“).click(function(e){//1)查找$(”a”);2)jQuery對象事件click;3)jQuery對象方法hide$(this).hide(“slow“);

  returnfalse;

  });

  });

  jQuery中有一個“配置”的思想,這一點使得對象的屬性/事件等設置變得容易理解且十分簡便,如下一個拖拽組件的初始化:

  可以看到,$("#drag1")是查找并創建一個jquery對象,然后調用Draggable方法進行拖拽初始化,在此方法調用時,傳遞一個“配置”對象,進行拖拽操作的初始化配置。這一“配置”的思想,極大簡化了一些編碼步驟,并相當直觀和易懂。

  以下我進行三個問答:

  1、問:為什么$(selector)之后,返回的是jQuery對象?

  答:從jQuery的源代碼中,我們可以知道:var$=jQuery。因此當我們$(selector)操作時,其實就是jQuery(selector),創建的是一個jQuery對象。當然正確的寫法應該是這樣的:varjq=new$(selector);而jQuery使用了一個小技巧在外部避免了new,在jquery方法內部:if(window==this)returnnewjQuery(selector);

  2、問:為什么創建一個jQuery對象之后,我們可以這樣寫

  $(selector).each(function(index){…});進行遍歷操作呢?

  答:其實jQuery(selector)方法調用時,在jQuery(selector)方法內部,最后返回的是一個數組:returnthis.setArray(a);而each方法體內部是一個for循環,在循環體內是這樣調用的:method.call(this[i],i)。

  3、問:為什么jQuery能做到jQuery對象屬性/方法/事件的插件式擴展?

  答:如果您有一些javasciprt的面向對象方面的知識,就會知道,jQuery.prototype原型對象上的擴展屬性/方法和事件,將會給jQuery的對象“擴展”。基于這一點,jQuery是這樣寫的:jQuery.fn=jQuery.prototype。所以,當我們擴展一個插件功能時,如下:jQuery.fn.check=function(){

  returnthis.each(function(){

  其實就是:

  綜上所述,jQuery給我們帶來了一個簡潔方便的編碼模型(1>創建jQuery對象;2>直接使用jQuery對象的屬性/方法/事件),一個強悍的dom元素查找器($),插件式編程接口(jQuery.fn),以及插件初始化的”配置”對象思想.

  附:實現自己的jQuery<!DOCTYPEhtmlPUBLIC”-//W3C//DTDXHTML1.0

  Transitional//EN””http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>

  divvv

  fdsf

  //實現自己的MyQuery框架

  varMyQuery=function(selector){

  if(window==this)returnnewMyQuery(selector);

  //這里只實現dom類型的簡單查找,嘿嘿

  vardoms=document.getElementsByTagName(selector);

  vararr=[];

  for(vari=0;i<doms.length;i++){

  arr.push(doms.item(i));

  }

  returnthis.setArray(arr);

  }

  MyQuery.prototype.setArray=function(arr){this.length=0;

  [].push.apply(this,arr);

  returnthis;

  }

  MyQuery.fn=MyQuery.prototype;

  var$=MyQuery;

  //插件擴展1)each

  MyQuery.fn.each=functionethod){for(vari=0,l=this.length;i<l;i++){

  method.call(this[i],i);

  }

  }

  //插件擴展2)show

  MyQuery.fn.show=function(){

  this.each(function(i){

  alert(i+“:“+this.id+“:“+this.innerHTML);});

  }

  //debugger

  $(“div“).show();

  js代碼改寫成jq代碼篇二:JQ添加移除css樣式代碼實現

  jQuery添加/移除CSS類實現代碼

  在網頁設計中,我們常常要使用Javascript來改變頁面元素的樣式。

  其中一種辦法是改變頁面元素的CSS類(Class),這在傳統的Javascript里,我們通常是通過處理HTMLDom的classname特性來實現的;而jQuery里提供三種方法來實現這個功能,雖然它們和傳統方法的思想相通,但是卻節省了許多代碼。還是那句話-“jQuery讓JavaScript代碼變得簡潔!”

  1.addClass()-添加CSS類

  代碼如下:

  $("#target").addClass("newClass");

  //#target指的是需要添加樣式的元素的ID

  //newClass指的是CSS類的名稱

  2.removeClass()-移除CSS類

  代碼如下:

  $("#target").removeClass("oldClass");

  //#target指的是需要移除CSS類的元素的ID

  //oldClass指的是CSS類的名稱

  3.toggleClass()-添加或者移除CSS類:如果CSS類已經存在,它將被移除;相反,如果CSS類不存在,它將被加上。

  代碼如下:

  $("#target").toggleClass("newClass")

  //如果ID為“target”的元素已經定義了CSS樣式,它將被移除;

  //反之,CSS類”newClass“將被賦給該ID。

  4.hasClass("className")-判斷是否已經存在CSS

  在實際運用中,我們常常先定義好這些CSS類,然后通過Javascript事件觸發(比如點擊某個鏈接)來改變頁面元素樣式。此外,jQuery還提供一種方法hasClass("className"),用來判斷某個元素是否已經被賦予某個CSS類。

  Jquery使用addClass()與removeClass()來動態的添加或移出一個css類的具體例子如下:

  1.$(“#para1”).addClass('highlight');添加一個“highlight”css類給id為para1的元素。

  2.$(‘#para1’).removeClass(‘'highlight');從id為para1的元素中移出一個‘highlight’css類。

  具體實例代碼如下:

  窗口標題-left

  61.

  62.

  63.

  64.

  65.<img

  src="http://pic002.cnblogs.com/images/2012/451207/2012100814082487.jpg"alt="關閉"/>窗口標題-right

  66.

  67.

  68.

  69.

  70.//獲取窗口的高度

  71.varwindowHeight;

  72.//獲取窗口的寬度

  73.varwindowWidth;

  74.//獲取彈窗的寬度

  75.varpopWidth;

  76.//獲取彈窗高度

  77.varpopHeight;

  78.functioninit(){

  79.windowHeight=$(window).height();

  80.windowWidth=$(window).width();

  81.popHeight=$(".window").height();

  82.popWidth=$(".window").width();

  83.}

  84.

  85.//關閉窗口的方法

  86.functioncloseWindow(){

  87.$(".win_titleimg").click(function(){

  88.$(this).parent().parent().hide("normal");

  89.});

  90.}

  91.

  92.functionpopCenterWindow(){

  93.init();

  94.//計算彈出窗口的左上角Y的偏移量

  95.varpopY=(windowHeight-popHeight)/2;//垂直方向偏移量

  96.varpopX=(windowWidth-popWidth)/2;//水平方向偏移量

  97.

  98.//設定窗口的位置

  99.$("#center").css("top",popY).css("left",popX).slideToggle("fast");100.closeWindow();

  101.}

  102.

  103.functionpopLeftWindow(){

  104.init();

  105.//計算彈出窗口的左上角Y的偏移量

  106.varpopY=windowHeight-popHeight;

  107.//varpopX=-(windowWidth-popWidth);

  108.

  109.//設定窗口的位置

  110.$("#left").css("top",popY-50).css("left",50).slideToggle("slow");111.closeWindow();

  112.}

  113.functionpopRightWindow(){

  114.init();

  115.//計算彈出窗口的左上角Y的偏移量

  116.varpopY=windowHeight-popHeight;

  117.varpopX=windowWidth-popWidth;

  118.

  119.//設定窗口的位置

  120.$("#right").css("top",popY-50).css("left",popX-50).slideToggle("normal"

  );

  121.closeWindow();

  122.}

  123.

  124.

  125.

主站蜘蛛池模板: 美女白嫩光屁屁网站 | 一本岛在线观看 | 少妇偷精午夜久久 | 欧美日韩国产精品 | 一区二区三区无码视频免费福利 | 影音先锋手机av资源站 | www.免费av | 琪琪秋霞午夜av影视在线 | 国产精品欧美久久久 | 日日摸夜夜爽无码毛片精选 | 你懂的在线看 | 无码免费毛片手机在线 | 91精品系列 | 国产一级特黄aaa大片 | www.亚洲视频.com | 国产精品免费视频一区二区三区 | 成人精品自拍 | 亚洲熟妇av综合网五月 | 91色啪| 欧美成人免费在线视频 | www.17c.com小草影视 | 欧美视频在线观看国产 | 欧美日本国产在线 | 农村真人裸体丰满少妇毛片 | 色爱综合av | 国产亚洲欧美人成在线 | 国产精品白丝av在线观看播放 | 日韩区一区二区三 | 性无码免费一区二区三区在线网站 | 精品久久久久久久久久 | 亚洲国产精品高清久久久 | 欧美肥臀大屁股magnet | 亚洲欧洲日韩二区aaaaa | 亚洲一区二区三区自拍天堂 | 亚洲成年轻人电影网站www | 亚洲亚洲人成综合网络 | 91香蕉在线看| 国产精品久久久对白 | 天天天天天天干 | 成人一级在线视频 | 久久久久久亚洲 | 精品一区二区三 | 超碰曰口干天天种夜夜爽 | 无敌风火轮在线完整免费高清 | 天天躁夜夜躁狠狠是什么心态 | 男女啪啪抽搐高潮动态图 | 中文字幕免费在线视频 | 一级黄色片日本 | 福利视频一区 | 好大好深好猛好爽视频免费 | 亚洲黄色网址 | 日本人做爰大片免费 | 五月天色婷婷丁香 | 深夜爽爽无遮无挡视频 | 午夜激情爱爱 | 国产喷水吹潮视频www | 亚洲欧美一卡 | 超清制服丝袜无码av福利网 | 国产又黄又爽又刺激的免费网址 | 亚洲精品国偷拍自产在线观看蜜臀 | 天海翼毛片 | 亚洲天堂在线观看视频 | 免费a在线 | 77777亚洲午夜久久多人 | 久久久少妇高潮久久久久 | 免费毛片一区二区三区久久久毛片 | 国产私拍 | 99视频国产精品免费观看 | 国内裸体无遮挡免费视频 | 日韩视频中文字幕精品偷拍 | 91香蕉免费看 | 亚洲污片| 日韩视| 欧美69精品久久久久久不卡 | 男人在线天堂网 | 激情综合激情网 | 三级黄色毛片视频 | 久久久精品欧美一区二区 | 日本aaa一级片 | 97久久久亚洲综合久久88 | 婷婷五月综合激情 | 久久久久久久久久久久久9999 | 在线看片免费人成视频在线影院 | 99视频在线精品 | 国产精品自产拍在线观看55 | 一本大道熟女人妻中文字幕在线 | 亚洲第一视频专区 | 中文区中文字幕免费看 | 亚洲欧美日本中文字不卡 | 麻豆国产原创中文av网站 | 国产视频中文字幕 | 亚洲性生活大片 | 青娱乐极品视觉盛宴国产视频 | 精品国产乱码久久久久久郑州公司 | 在线播放国产高潮流白浆视频 | 国产伦精品一区二区三区四区 | 亚洲性导航 | 免费国产拍久久受拍久久 | 亚洲精品一区二区三 |