最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信小程序?qū)崿F(xiàn)動態(tài)獲取元素寬高的方法分析

 更新時間:2018年12月10日 14:27:52   作者:站住,別跑  
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)動態(tài)獲取元素寬高的方法,結(jié)合實例形式分析了微信小程序動態(tài)獲取、設置元素寬高的相關(guān)操作技巧與注意事項,需要的朋友可以參考下

本文實例講述了微信小程序?qū)崿F(xiàn)動態(tài)獲取元素寬高的方法。分享給大家供大家參考,具體如下:

我以前一直以為微信小程序不能動態(tài)獲取view元素的寬高。但是自從看到: wx.createSelectorQuery() 這個api接口,以前的某些問題就能得到解決了。。。

那么,這個api接口怎么用呢?

首先,這個接口會返回一個對象實例。

var obj=wx.createSelectorQuery();

下面的就是返回的對象實例 obj 的所有內(nèi)容。

返回的 obj 有五個方法:

1.  obj.in(component):沒用過這個方法,多用于組件的選擇器。

2.  obj.select(selector):獲取指定的節(jié)點,selector是css選擇器。返回一個 NodesRef 對象實例,可以用于獲取節(jié)點信息。

3.  obj.selectAll(selector):獲取指定的節(jié)點,selector是css選擇器。返回一個 NodesRef 對象實例,可以用于獲取節(jié)點信息。

上面這兩個我感覺就是 js 中querySelector和querySelectorAll的區(qū)別。

4. obj.selectViewport():我沒用過這個方法。官方說是選擇顯示區(qū)域,可用于獲取顯示區(qū)域的尺寸、滾動位置等信息。也是返回一個 NodesRef 對象實例,可以用于獲取節(jié)點信息。

5. exec( function(res){} ):執(zhí)行所有的請求,請求結(jié)果按請求次序構(gòu)成數(shù)組,在callback的第一個參數(shù)中返回

上面返回的 NodesRef 對象實例就很重要了,它有三個方法:

1. boundingClientRect( function(rect){} ):就是這個方法,能夠動態(tài)獲取view元素的高度、寬度等屬性。還有其它的請看官方文檔

2. scrollOffset( function(res) {}):獲取節(jié)點的水平、垂直滾動的位置等。節(jié)點必須是scroll-view或者viewport

3. fields(fields,function(){res} ):這個可以獲取指定元素的自定義屬性和class名,具體的請看官方文檔的說明。

廢話了這么多,真正的實例用法:

wx.createSelectorQuery().selectAll('.npl-intro').boundingClientRect(function (rect) {
  console.log(rect[0].height)
  console.log(rect[0].width)
}).exec()

如果覺得這樣寫有點長??梢苑植綄?。也是一樣的結(jié)果。

var obj=wx.createSelectorQuery();
obj.selectAll('.npl-intro').boundingClientRect(function (rect) {
  console.log(rect[0].height)
  console.log(rect[0].width)
})
obj.exec() ;

或者在exec中返回,如果出現(xiàn)上面的方式出現(xiàn)獲取到的 rect 是 null 的話,可以考慮用下面這種,就不會出現(xiàn)問題。結(jié)果是一樣的。

var obj=wx.createSelectorQuery();
obj.selectAll('.npl-intro').boundingClientRect();
obj.exec(function (rect) {
  console.log(rect[0].height)
  console.log(rect[0].width)
}) ;

當然,這方法可以寫在onLoad、onReadyonShow等這些生命周期的方法,也可以寫在自定義的方法里。什么時候需要,什么時候就調(diào)用。

注意:如果要獲取通過wx:ifsetData來實現(xiàn)顯示與隱藏的元素,調(diào)用的這個方法的時候可能出現(xiàn)獲取到的內(nèi)容為null。我的解決辦法是加個定時器:因為這個獲取元素的方法是異步的,所以只有拖延點時間再去獲取,不然有可能元素還未加載出來,就調(diào)用了這個方法,當然返回的結(jié)果就是null了。

//動態(tài)設置高度
setTimeout(function () {
  var query = wx.createSelectorQuery();
  query.select('.nd-btnBox').boundingClientRect();
  query.exec(function (rect) {
    if (rect[0] === null) return;
    that.setData({
      marginBM: rect[0].height + 10
    })
  });
}, 500)

官方 wx.createSelectorQuery() 接口

希望本文所述對大家微信小程序開發(fā)有所幫助。

相關(guān)文章

  • JavaScript 更嚴格的相等 [譯]

    JavaScript 更嚴格的相等 [譯]

    大部分JavaScript程序員都知道:應該使用嚴格相等(===)來代替“普通”的相等操作(==).但是,有時候你的確需要一個比嚴格相等===更嚴格的運算符,比如說:在你想檢查某個值是否是NaN的時候,又或者你想?yún)^(qū)分-0和+0的時候.本文解釋了相關(guān)的知識以及ECMAScript.next中的解決辦法:“is”操作符
    2012-09-09
  • ES6中異步對象Promise用法詳解

    ES6中異步對象Promise用法詳解

    這篇文章主要介紹了ES6中異步對象Promise用法,對比ES5分析了ES6異步方法Promise的使用技巧,并結(jié)合實例形式分析了連續(xù)使用Promise對象、Promise捕獲錯誤的catch()、以及Promise的高級用法,需要的朋友可以參考下
    2019-07-07
  • 多瀏覽器支持的右下角浮動窗口

    多瀏覽器支持的右下角浮動窗口

    支持各種瀏覽器的右下角浮動窗口,需要的朋友可以參考下。
    2010-04-04
  • DOM 腳本編程中的兄弟節(jié)點

    DOM 腳本編程中的兄弟節(jié)點

    兄弟節(jié)點之間可以通過 previousSibling 和 nextSibling 屬性訪問同一級別上的不同子節(jié)點。這個兄弟節(jié)點是元素還是文本節(jié)點在現(xiàn)代瀏覽器上運行是怎么樣的呢?
    2009-10-10
  • javascript點擊按鈕實現(xiàn)隱藏顯示切換效果

    javascript點擊按鈕實現(xiàn)隱藏顯示切換效果

    這篇文章主要介紹了javascript點擊按鈕實現(xiàn)隱藏顯示切換效果,以一個完整的實例為大家分析了js點擊按鈕實現(xiàn)隱藏顯示切換的功能,感興趣的小伙伴們可以參考一下
    2016-02-02
  • 原生javascript兼容性測試實例

    原生javascript兼容性測試實例

    原生javascript兼容性:currentStyle、scrollTop、event以及綁定事件IE的綁定事件為attachEvent/detachEvent等等兼容性測試實例,感興趣的朋友可以參考下哈
    2013-07-07
  • ES6擴展運算符的使用方法示例

    ES6擴展運算符的使用方法示例

    es6新增加了一個運算符,叫做擴展運算符,這個運算符用在數(shù)組前面,會把數(shù)組展開變成各個獨立的值,這篇文章主要給大家介紹了關(guān)于ES6擴展運算符的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • JS中的new Date()參數(shù)示例詳解

    JS中的new Date()參數(shù)示例詳解

    js中,new Date([params]),參數(shù)傳遞有五種方式,本文給大家講解的非常詳細,對new Date()參數(shù)相關(guān)知識感興趣的朋友跟隨小編一起看看吧
    2023-11-11
  • 圖片旋轉(zhuǎn)、鼠標滾輪縮放、鏡像、切換圖片js代碼

    圖片旋轉(zhuǎn)、鼠標滾輪縮放、鏡像、切換圖片js代碼

    這篇文章主要為大家介紹了圖片旋轉(zhuǎn)、鼠標滾輪縮放、鏡像、切換圖片js代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-01-01
  • JS面向?qū)ο缶幊虦\析

    JS面向?qū)ο缶幊虦\析

    下面就結(jié)合我自己的體會和所學習的東東和大家一起來學習在JS中如何使用面向?qū)ο蟮木幊獭?/div> 2011-08-08

最新評論

凌源市| 山阳县| 祁连县| 伊金霍洛旗| 扎赉特旗| 民县| 庆元县| 芜湖县| 文化| 江川县| 玉山县| 托克托县| 巴林右旗| 鄂托克前旗| 九台市| 赞皇县| 长顺县| 三亚市| 张掖市| 泽普县| 渭南市| 阳信县| 比如县| 无锡市| 公安县| 河北省| 平和县| 循化| 临夏县| 苏州市| 博客| 东乌珠穆沁旗| 革吉县| 马边| 江源县| 平邑县| 柳州市| 黔江区| 陆河县| 马关县| 温宿县|