gpt4 book ai didi

javascript - 使用 jquery anchor 链接到多个类而不是 id

转载 作者:技术小花猫 更新时间:2023-10-29 12:10:29 26 4
gpt4 key购买 nike

我有一个带有向上和向下箭头的页面,这些箭头是 float 在左侧的链接。我希望它们作为滚动 anchor 链接在页面上的 div 之间导航。这是我到目前为止所拥有的......我知道 jquery 还远未完成,但我认为我正朝着正确的方向前进。任何帮助都会很棒。

JSFIDDLE:http://jsfiddle.net/t8uaQ/

HTML:

<ul id="et-float-menu">
<li class="et-float-menu-item1">
<a href="#scroll"> <span><img></span> </a>
</li>
<li class="et-float-menu-item2">
<a href="#scroll"> <span><img></span> </a>
</li>
</ul>
<div class="jumptosection" id="section1">
<h2>Section 1</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam dapibus luctus ligula sit amet tincidunt. Aliquam dapibus ipsum ac metus interdum congue. In sed arcu et quam semper tincidunt vel non enim. Ut sit amet volutpat neque. Suspendisse potenti. Vestibulum cursus erat vitae posuere mattis. Integer eleifend eleifend fermentum.</p>

<p>Curabitur arcu tortor, tincidunt in ante ornare, aliquam pulvinar nunc. Quisque elit erat, suscipit non odio a, fringilla fermentum dui. Aenean ultricies nisi vitae massa fermentum facilisis. Donec dignissim iaculis tortor ultrices dapibus.</p>
</div>
<div class="jumptosection" id="section2">
<h2>Section 2</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam dapibus luctus ligula sit amet tincidunt. Aliquam dapibus ipsum ac metus interdum congue. In sed arcu et quam semper tincidunt vel non enim. Ut sit amet volutpat neque. Suspendisse potenti. Vestibulum cursus erat vitae posuere mattis. Integer eleifend eleifend fermentum.</p>

<p>Curabitur arcu tortor, tincidunt in ante ornare, aliquam pulvinar nunc. Quisque elit erat, suscipit non odio a, fringilla fermentum dui. Aenean ultricies nisi vitae massa fermentum facilisis. Donec dignissim iaculis tortor ultrices dapibus.</p>
</div>
<div class="jumptosection" id="section3">
<h2>Section 3</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam dapibus luctus ligula sit amet tincidunt. Aliquam dapibus ipsum ac metus interdum congue. In sed arcu et quam semper tincidunt vel non enim. Ut sit amet volutpat neque. Suspendisse potenti. Vestibulum cursus erat vitae posuere mattis. Integer eleifend eleifend fermentum.</p>

<p>Curabitur arcu tortor, tincidunt in ante ornare, aliquam pulvinar nunc. Quisque elit erat, suscipit non odio a, fringilla fermentum dui. Aenean ultricies nisi vitae massa fermentum facilisis. Donec dignissim iaculis tortor ultrices dapibus.</p>
</div>
<div class="jumptosection" id="section4">
<h2>Section 4</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam dapibus luctus ligula sit amet tincidunt. Aliquam dapibus ipsum ac metus interdum congue. In sed arcu et quam semper tincidunt vel non enim. Ut sit amet volutpat neque. Suspendisse potenti. Vestibulum cursus erat vitae posuere mattis. Integer eleifend eleifend fermentum.</p>

<p>Curabitur arcu tortor, tincidunt in ante ornare, aliquam pulvinar nunc. Quisque elit erat, suscipit non odio a, fringilla fermentum dui. Aenean ultricies nisi vitae massa fermentum facilisis. Donec dignissim iaculis tortor ultrices dapibus.</p>
</div>

我的 CSS:

#section1 {
padding:20px;
margin:10px;
background-color:#f8f8f8;
}

#section2 {
padding:20px;
margin:10px;
background-color:#e8e8e8;
}

#section3 {
padding:20px;
margin:10px;
background-color:#f8f8f8;
}

#section4 {
padding:20px;
margin:10px;
background-color:#e8e8e8;
}

#et-float-menu {
position: fixed;
z-index: 11;
left: 0;
top: 45%;
background-color: #000;
padding: 20px 10px 10px 15px;
margin: 0;
-webkit-border-top-right-radius: 8px;
-webkit-border-bottom-right-radius: 8px;
-moz-border-radius-topright: 8px;
-moz-border-radius-bottomright: 8px;
border-top-right-radius: 8px;
border-bottom-right-radius: 8px;
}

#et-float-menu a {
padding: 0;
clear: both;
float: left;
margin-bottom: 10px;
color: #fff;
}

#et-float-menu a:hover { color: #b2b2b2; transition: color 300ms ease 0s; }

#et-float-menu li {
display: block;
margin-left: 0;
}


.et-float-menu-item a { display: inline-block; font-size: 24px; position: relative; text-align: center; transition: color 300ms ease 0s; color: #fff; text-decoration: none; }
.et-float-menu-item a:hover { color: #a0a0a0; }
.et-social-icon span { display: none; }
.et-float-menu-item1 a:before { content: '↑';font-size:22px; }
.et-float-menu-item2 a:before { content: '↓';font-size:22px; }

JQUERY:

jQuery(document).ready(function(){
var jumptosectionTopPosition = jQuery('.jumptosection').offset().top;
jQuery('#scroll').click(function(){
jQuery('html, body').animate({scrollTop:jumptosectionTopPosition}, 'slow');
return false;
});
});

最佳答案

更改 href你的<a>scrollUpscrollDown相应地。

坚持一些.selected类,将用于标识当前选定的部分。将此类添加到 html 的第一部分。

添加一个函数来执行选择:通过添加.selected类并滚动到新选择的 div .

function changeSelection(sectionFrom, sectionTo) {
if(sectionTo.length > 0) {
sectionFrom.removeClass("selected");
sectionTo.addClass("selected");
$("body").animate({scrollTop: sectionTo.offset().top});
}
}

附上click听众您的anchor秒。在他们每个人里面找到当前选择的 divdiv你想被选中并调用changeSelection()使用这些 div

对于 scrollDown我们要选择下一个div :

$(document).on("click", "[href='#scrollDown']", function(){
var currentSection = $(".selected");
var nextSection = currentSection.next(".jumptosection");

changeSelection(currentSection, nextSection);

return false;
});

对于 scrollUp我们要选择上一个div :

$(document).on("click", "[href='#scrollUp']", function(){
var currentSection = $(".selected");
var prevSection = currentSection.prev(".jumptosection");

changeSelection(currentSection, prevSection);

return false;
});

如果你到达终点(第一个或最后一个 .jumptosection div ),什么都不会改变(它由 changeSelection 函数控制 - 它检查我们是否有 sectionWeWantScrollTo)

这是Demo


已编辑(http://94co.com/client3/about/)

  1. 参见 this answer关于 WordPress 和 jQuery。使用 jQuery代替 $在你的脚本中
  2. 最好用id而不是 hrefanchor
  3. 确保包装 click 的 JavaScript听众在

    jQuery(document).ready(function(){
    /*scrollUp and scrollDown click listeners should be here*/
    });

    (JSFiddle 自动换行)。 changeSelection函数不需要包装

这是更新的Demo

关于javascript - 使用 jquery anchor 链接到多个类而不是 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21440627/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com