亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

currentId不能直接直接通過currentId="#"+m.attr("id");來獲得呢,還非要進行遍歷嗎

<script type="text/javascript">
? ?$(document).ready(function () {
? ? ? ?$(window).scroll(function () {
? ? ? ? ? ?var items = $("#content").find(".item");
? ? ? ? ? ?var menu = $("#menu");
? ? ? ? ? ?var top = $(document).scrollTop();
? ? ? ? ? ?var currentId; //滾動條現在所在位置的item id
? ? ? ? ? ?items.each(function () {
? ? ? ? ? ? ? ?var m = $(this);
? ? ? ? ? ? ? ?//注意:m.offset().top代表每一個item的頂部位置
? ? ? ? ? ? ? ?if (top > m.offset().top - 300) {
? ? ? ? ? ? ? ? ? ?currentId = "#" + m.attr("id");
? ? ? ? ? ? ? ?} else {
? ? ? ? ? ? ? ? ? ?return false;
? ? ? ? ? ? ? ?}
? ? ? ? ? ?});

? ? ? ? ? ?var currentLink = menu.find(".current");
? ? ? ? ? ?if (currentId && currentLink.attr("href") != currentId) {
? ? ? ? ? ? ? ?currentLink.removeClass("current");
? ? ? ? ? ? ? ?menu.find("[href="+currentId+"]").addClass("current");
? ? ? ? ? ?}
? ? ? ?});
? ?});
</script>


其中currentId為什么不能直接通過currentId="#"+m.attr("id");來獲得呢,還非要進行遍歷呢?這里的m就是this,這個this難道不能取到值嗎

正在回答

1 回答

items.each(function () {
? ? ? ? ? ? ? ?var m = $(this);

這里的this是動態變化的,你遍歷是為了比較top與scrollTop從而找出想要的currentId,所以必須遍歷

1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

currentId不能直接直接通過currentId="#"+m.attr("id");來獲得呢,還非要進行遍歷嗎

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號