【问题标题】:How do disable JavaScript inside an div?如何在 div 中禁用 JavaScript?
【发布时间】:2014-12-15 09:03:41
【问题描述】:

我的 JavaScript 有问题,不知道如何处理。

所以我正在使用这个脚本:

    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function() {

        $('nav a').click(function(){
        $('html, body').animate({
        scrollTop: $( $(this).attr('href') ).offset().top
        }, 700);
        return false;
        });
    });

脚本在我的页面上平滑滚动,我认为这很酷,所以我不想删除它。

但我的问题是,我的页面上还有一个简单的画廊滑块,但 JavaScript 会影响该画廊滑块。单击 href 中的链接时,它会滚动到顶部。画廊滑块的代码是:

            <div id="images">
                <img id="billede1" src="http://i.imgur.com/dL3io.jpg" />
                <img id="billede2" src="http://i.imgur.com/qASVX.jpg" />
                <img id="billede3" src="http://i.imgur.com/fLuHO.jpg" />
                <img id="billede4" src="http://i.imgur.com/5Sd3Q.jpg" />
            </div>
            <div id="slider">
                <a href="#billede1">1</a>
                <a href="#billede2">2</a>
                <a href="#billede3">3</a>
                <a href="#billede4">4</a>
            </div>  

问题是,我真的很喜欢简单的代码并且我正在努力变得更好,所以我不想使用一些我不懂的高级代码。

是否可以通过某种方式禁用 JavaScript 使其不能在我的 div 中工作?或者也许将其称为“href”以外的其他名称?

我认为我的“href”是问题所在。

所以.. 这是小提琴: http://jsfiddle.net/62dsqLff/ 你可以看到问题。

真的很感谢。我很感激:-)

【问题讨论】:

  • 您可以在jsfiddle.net 中发布您的代码吗?您可以将代码添加到您的帖子中,而不是发布带有屏幕截图的图片吗?
  • 是的,当然。对此感到抱歉:-)
  • 给我们你的导航条码...
  • $('nav a') 建议平滑滚动仅适用于 &lt;nav&gt; 元素内的链接。因此,如果滑块在导航之外,它不应该受到影响。
  • 大家好 :-) 我现在把它贴在 fiddle 上:jsfiddle.net/62dsqLff Pawel - 问题是它也可以在 nav a 之外工作,但它不应该 :(

标签: javascript html


【解决方案1】:

让我在这个演示中为您分享一个小提琴JSFIDDLE,我为您的导航栏锚标签提供了一个名为.nav 的新类。然后像下面这样重写脚本。

 $('a.nav').click(function () {
     alert( $($(this).attr('href')).offset().top);
     $('html, body').animate({
         scrollTop: $($(this).attr('href')).offset().top
     }, 700);
     // return false;
 });

【讨论】:

  • 我想我实现了你想让我做的事情,但它似乎不起作用:( jsfiddle.net/62dsqLff/3
  • 它正在工作....请像这样在 js fiddle 上添加 jquery jsfiddle.net/62dsqLff/4
  • 你的小提琴正在工作,但是你忘了在那个查看他的演示 jsfiddle.net/62dsqLff/5 中包含 jquery。
  • 我已经在 js fiddle 和我的网站上尝试过。我很确定 js fiddle 告诉我我不必包含 jquery。但无论如何我仍然无法让它工作。尝试手动向下滚动到我的图库滑块,然后单击其中一个数字。之后你会看到我的问题。当我单击其中一个数字时,它会向上滚动。我不希望它那样做。
  • 所以我试图删除整个脚本,但画廊滑块仍然“向上滚动”。这很奇怪。看看吧:jsfiddle.net/62dsqLff/6 我不认为这是脚本。我可以以某种方式锁定“1”以仅向上滚动到 div 元素的末尾。不确定我是否解释正确。大声笑
【解决方案2】:

使用该锚点的 id,而不是模糊的“nav a”,它将在您的 nav 元素内的任何 a 上触发。
如果您使用 a 作为按钮,也可以防止默认操作。

创建“返回顶部”脚本的正确方法是定位一个按钮。代替nav a,创建一个按钮,给它一个id,然后定位那个id。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-01
    • 2013-07-11
    • 2021-12-18
    • 1970-01-01
    • 2020-09-04
    • 2011-05-19
    相关资源
    最近更新 更多