Jquery 从其他页面访问时启动scrollspy
我试图在维护scroll spy功能的同时链接到我主页的特定部分 使用此代码:Jquery 从其他页面访问时启动scrollspy,jquery,html,twitter-bootstrap,twitter-bootstrap-3,Jquery,Html,Twitter Bootstrap,Twitter Bootstrap 3,我试图在维护scroll spy功能的同时链接到我主页的特定部分 使用此代码: <li><a href="#sec1">About</a></li> 它带我到主页上正确的部分,但scrollspy功能不再工作 js代码 $(function(){/* smooth scrolling for scroll to top */ /* highlight the top nav as scrolling occurs */ $('
<li><a href="#sec1">About</a></li>
它带我到主页上正确的部分,但scrollspy功能不再工作
js代码
$(function(){/* smooth scrolling for scroll to top */
/* highlight the top nav as scrolling occurs */
$('body').scrollspy({ target: '#navbar' })
});
有什么想法吗?你可以试试
$(document).ready(function(){
var href = window.location.href;
var splitit = (href.split('#'))[1]; //split url to get sec1 name
if(splitit !== "" || splitit !== "undefined"){
$('html, body').animate({
scrollTop: $('#'+splitit).offset().top
}, 2000);
}
});
此代码将拆分url以获取sec1或sec2。。。。然后使用id=“sec1”滚动到div
我的意思是,如果您将另一个页面重定向到www.website.com/anything#sec1,它将使用id=“sec1”将页面滚动到div
看看这个
您可以看到这一点。除了@Mohamed Yousef的答案外,另一个选择是通过
$(document).ready(function() {
// workaround for deep link via anchor
var stripped_url = window
.location
.toString()
.split("#");
if (stripped_url.length > 1) {
var activeId = "#nav-deep-" + stripped_url[1];
$(activeId)[0].click();
}
});
jQuery选择器需要链接元素上的适当id,如
一个更优雅的解决方案是通过
$(document).ready(function() {
// workaround for deep link via anchor
var stripped_url = window
.location
.toString()
.split("#");
if (stripped_url.length > 1) {
var activeId = "#nav-deep-" + stripped_url[1];
$(activeId)[0].click();
}
});
$(document).ready(function() {
// workaround for deep link via anchor
var stripped_url = window
.location
.toString()
.split("#");
if (stripped_url.length > 1) {
$("a[href='#"+stripped_url[1]+"']")[0].click();
}
});