Javascript 拆下'#';从JQuery中的URL
我已经编写了一个脚本,将Javascript 拆下'#';从JQuery中的URL,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我已经编写了一个脚本,将#从URL中删除并滚动到特定的div。它适用于正常的URL,如 10.0.1.22/dev/pg/blog/all/ 但它不适用于像这样的URL 10.0.1.22/dev/pg/search/?tag=a&entity_subtype=blog&entity_type=object&search_type=entities#39531 它没有从URL中删除#&而且滚动也不起作用 剧本 jQuery(document).ready(fu
#
从URL中删除并滚动到特定的div。它适用于正常的URL,如
10.0.1.22/dev/pg/blog/all/
但它不适用于像这样的URL
10.0.1.22/dev/pg/search/?tag=a&entity_subtype=blog&entity_type=object&search_type=entities#39531
它没有从URL中删除#
&而且滚动也不起作用
剧本
jQuery(document).ready(function($) {
$(".full_view_btn").live('click', function(){
var divid = $(this).attr('data-id');
var long_desc = "#inner_descrip" + divid;
var short_desc = "#listing_desp" + divid;
var shw_mre_btn = "#full_view" + divid;
if($(long_desc).is( ':hidden' )){
$('.long_desc').hide();
$('.short_desc').show();
$(long_desc).show();
$(short_desc).hide();
$('.full_view_btn').text('Show more');
$(shw_mre_btn).text('Show less');
} else{
$(long_desc).hide();
$(short_desc).show();
$(shw_mre_btn).text('Show more');
}
if (location.pathname.replace('/^\//','') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
var target = $(this.hash);
target = target.length ? target : $('[id=' + this.hash.slice(1) +']');
if (target.length) {
$('html,body').animate({
scrollTop: target.offset().top-60
}, 500);
target.parent().find('#highlight_div'+divid).css("box-shadow", "0 0 2px 1px #cccccc");
setTimeout(function() {
target.parent().find('#highlight_div'+divid).css("box-shadow", "none");
}, 1000);
return false;
}
}
});
});
你们知道怎么解决这个问题吗?我找不到错误在哪里?您不能使用jQuery对象包装哈希字符串,否则将得到空数组,因为jQuery的输入参数应该是选择器。您需要将目标作为由jQuery对象包装的DOM元素,以使用像offset这样的方法 因此,您必须将目标更改为或任何应该是向下滚动的目标
var target = $(this.target);
请创建JSFIDLE。您使用的是哪种浏览器?@ssut All browser相同的问题…@PratikJoshi这是我在这里显示的一小部分…页面是一个列表,因此无法在中显示fiddle@RIADev,在if()之前张贴代码,因此,它将使
taget.length
变得更合理,它的说法是0
,但在我的问题中,它对小URL的工作方式??如果目标值设置为0,则不会计算以下条件,并且简单地跳过是的,我知道…&我尝试了您的解决方案它也不工作…是的,在console.log(目标)中正在显示选择器idit的hart以猜测正确的行为,您可以发布整个吗page@Martin... 我修复了它脚本是101%正确…我只是改变了我的父div然后它的工作非常适合你的tym。。