Javascript 点击第二个选项jquery将不会工作,除非我点击页面上的任何元素
我的Jquery有点问题。我试图理解为什么它不起作用 比如说 我的标题中有两个div标签,其中包含HOME和Products 我正在尝试使用jquery进行内部链接,以链接到div标记HOME和PRODUCTSJavascript 点击第二个选项jquery将不会工作,除非我点击页面上的任何元素,javascript,jquery,Javascript,Jquery,我的Jquery有点问题。我试图理解为什么它不起作用 比如说 我的标题中有两个div标签,其中包含HOME和Products 我正在尝试使用jquery进行内部链接,以链接到div标记HOME和PRODUCTS <body> <div id="#header_container"> <div> <a href="#home_content"> <span id="home_select"> HOME </span><
<body>
<div id="#header_container">
<div>
<a href="#home_content"> <span id="home_select"> HOME </span></a>
</div>
<div>
<a href="#product_content"> <span id="product_select"> PRODUCTS </span></a>
</div>
</div><!--header_content end-->
<div id="home_content"> BLABLABLABLABLABLABLA </div>
<div id="products_content"> BLABLABLABLABLABLABLA </div>
</body>
布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉
布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉
当我加载页面时,第一次单击HOME可以正常工作,第二次单击PODUCTS可以在我第一次单击HOME之后正常工作
如果我必须先加载页面并单击产品,它将无法工作。如果我加载了页面,并在点击产品之前点击了页面上的任何其他内容,它就会工作
在刷新页面后简单地点击产品是不起作用的,除非我点击页面上的另一个功能。我不知道它为什么这样做。我需要一些帮助
我的jquery代码是
<head>
<script>
$(document).ready(function(){
if ($("#home_select").click(function(){$("html, body")
.animate({scrollTop: $("#home_content").offset().top});
}));
if ($("#product_select").click(function(){$("html, body")
.animate({scrollTop: $("#product_content").offset().top});
}));
});
</script>
</head>
$(文档).ready(函数(){
如果($(“#主页_选择”)。单击(函数(){$(“html,正文”)
.animate({scrollTop:$(“#主页内容”).offset().top});
}));
如果($(“#产品_选择”)。单击(函数(){$(“html,正文”)
.animate({scrollTop:$(“#产品_内容”).offset().top});
}));
});
非常感谢您的帮助。您需要在产品前面添加一个#,例如:
这:
您的jQuery代码试图滚动到“产品”内容,但您的HTML提到了产品内容。您是否尝试添加缺少的哈希符号和s?只需添加动画以单击事件尝试此操作,并在链接中添加href=“#”:
<script>
$(document).ready(function(){
$("#home_select").on("click", function(){
$("html, body").animate({scrollTop: $("#home_content").offset().top});
});
$("#product_select").on("click", function(){
$("html, body").animate({scrollTop: $("#products_content").offset().top});
});
</script>
$(文档).ready(函数(){
$(“主页选择”)。在(“单击”,函数()上{
$(“html,body”).animate({scrollTop:$(“#home_content”).offset().top});
});
$(“#产品_选择”)。在(“单击”,函数(){
$(“html,body”).animate({scrollTop:$(“#产品_内容”).offset().top});
});
您的C#文件中是否有关联的控制器方法(如果是MVC,则为控制器)。如果有,请发布这些方法好吗?去掉if属性不会改变任何东西我想我知道为什么它的行为是有线的,我有display:none on(产品内容)div,它与另一个jquery函数绑定,以便在您向下滑动页面时显示它。如何禁用显示:单击时在我的CSS中无,我认为这可能会修复它。您应该在CSS文件中有显示:无(可能您已经有了)。给它一个类名,如hdndiv,然后要显示div,您可以使用$(“#products#content”)。removeClass(“hdndiv”)。我发现了一个新的小提琴,因为我有display:在CSS中没有,我只是添加了$(“#产品内容”)。show();它可以工作嘿,科里,你有没有在Opera和Chrome中尝试过JSFIDLE代码,它不起作用。我只是尝试了一下,并且花了一些时间来找出问题所在。如果你知道解决方法,请告诉我
<script>
$(document).ready(function(){
$("#home_select").on("click", function(){
$("html, body").animate({scrollTop: $("#home_content").offset().top});
});
$("#product_select").on("click", function(){
$("html, body").animate({scrollTop: $("#products_content").offset().top});
});
</script>