重定向URL与窗口位置在div



我有一个页脚和一些链接:

<a href="javascript:void(0)" onClick="goToByScroll('newServices')">
   Our Services
</a>

如果用户在主页,第一个if可以正常工作,但如果用户不在主页,这个重定向到主页,但不会在特定的div中打开。

function goToByScroll(id){
    if ( window.location.href.indexOf('newhome') > -1 ) {
        $('html,body').animate({scrollTop: $("#"+id).offset().top},1000);
    }
    else {
        window.location = "/newhome/"
        $('html,body').animate({scrollTop: $("#"+id).offset().top},1000);
    }
}

任何想法?

*********** 更新 *********************

var userClickID = id;
    if ( window.location.href.indexOf('newhome') > -1 ) {
        $('html,body').animate({scrollTop: $("#"+userClickID).offset().top},1000);
    }
    else {
        window.location = "/newhome/";
        $(document).ready(function() {
            $('html,body').animate({scrollTop: $("#"+userClickID).offset().top},1000);
        });
    }

还是不行

实际上我正在做这些实验在本地。html文件在我的桌面:file:///C:/Users/myusername/Desktop/page2.html

这个例子使用? url参数滚动到div:

<a href="page2.html?newServices">page2 - newServices</a>



在你的桌面上创建两个。html页面,代码如下:
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.1.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    var href = window.location.href;
    var split = href.split("?");
    var afterSplit = "Error parsing url";
    if (split[1] != null) {
        afterSplit = split[1];
    }
    console.log(afterSplit);
    goToByScroll(afterSplit);
});
</script>
<style type="text/css">
.myDiv {width: 200px;height: 2000px;}
#one   {border: 3px solid green;}
#two   {border: 3px solid blue;}
#three {border: 3px solid red;}
</style>
</head>
<body>
<div id="one" class="myDiv">ONE<button onclick="goToByScroll('two');">goToByScroll</button><a href="page2.html?three">page2.html?three</a></div>
<div id="two" class="myDiv">TWO<button onclick="goToByScroll('three');">goToByScroll</button></div>
<div id="three" class="myDiv">THREE<button onclick="goToByScroll('one');">goToByScroll</button></div>
<script type="text/javascript">
var timeMs = 1000;
function goToByScroll(ID){
    $('body').animate({scrollTop: $('#'+ID).offset().top}, timeMs);
}
</script>
</body>
</html>


告诉我这是否是你想要的

希望有所帮助

最新更新