我如何设置链接以执行某些功能,例如hide div然后转到destined url
类似这样的事情
(文档)$。就绪(函数(){ $( “A”)。点击(函数(){ $( “#DIV1”)效果基本show( “慢”)。 $( “#DIV2”)效果基本show( “慢”)。 //然后转到index.html }); });
这是我的设置。
<script type="text/javascript"> $(document).ready(function(){
$("a").click(function(){
$("#one").hide("slow");
$("#two").hide("slow" , function(){
window.location (index.html);
});
}); }); </script>
<div id="one"> some content </div>
<div id="two"> some content </div>
<a href="#">BUTTON HERE</a>
它只执行隐藏功能,如果我替换html中的url,它只执行url。我一定是做错了什么
答案 0 :(得分:3)
尝试将重定向作为回调放在最后一次幻灯片后执行:
$(document).ready(function(){
$("a").click(function(){
$("#div1").slideUp("slow");
$("#div2").slideUp("slow", function(){
window.location(url); // or window.location.replace(url);
});
});
});
答案 1 :(得分:2)
“Location”实际上是窗口对象的属性,不是方法。这意味着您需要为其赋值=,而不是将其作为参数传递给()。试试这个代码:
$("a").click(function(event){
event.preventDefault();
var url = $(this).attr("href");
$("#div1").slideUp("slow");
$("#div2").slideUp("slow", function(){
window.location=url;
});
});
此外,链接的默认行为是转到URL,它将运行该行为,除非您使用“return false;”之类的内容停止它。虽然将href设置为“#”不会将用户带到任何地方,但它会将它们滚动到页面的顶部,这可能很烦人。最好还是假它。
答案 2 :(得分:0)
你所拥有的可能是正确的。以下是转到新网址所需的内容:
top.location.href='someURL';
答案 3 :(得分:0)
JQuery中没有任何内容可以从当前页面重定向到其他页面,但JavaScript有它的位置对象,您可以像以下一样使用它:
$(document).ready(function(){
$("a").click(function(){
$("#div1").slideUp("slow");
$("#div2").slideUp("slow");
window.location(url); // or window.location.replace(url);
});
});
您可以在此处阅读JavaScript中的更多abot重定向:How to redirect to another webpage in JavaScript/jQuery?
答案 4 :(得分:0)
你真的需要在javascript中设置位置吗?只需输入href属性有什么问题?