你好这是一个特别的问题,我不知道jQuery是否可以帮助我,或者在这种情况下即使CSS也足够了。
我有一个页面链接到另一个页面,指向一个链接锚点
<a title="Creazione Siti E-Commerce" href="http://mysite.com/it/servizi/#ecommerce">
转到页面/ it / servizi /
中的锚点链接这里一切都很好。
我想要实现的目标是:
新页面将使用jQuery滚动动画滚动到锚点。所以我应该能够告诉jQuery代码,当它在URL中找到像http://mysite.com/it/servizi/#ecommerce这样的锚时,它将为滚动设置动画。
第二点是当它找到这种URL http://mysite.com/it/servizi/#ecommerce时,jQuery代码会向页面中的特定元素添加一个新类。 (我需要它来改变文本的颜色,以帮助用户查看已选择的内容,在本例中为#ecommerce)
很难解释。我希望有人能理解我的观点:(
感谢。
答案 0 :(得分:0)
好的,你要加载你正在参加魔术的页面,意思是在$(document).ready(function(){});
块中,使用jquery选择所有锚点,如var anchors = $('a');
,然后迭代槽所有锚点,逐个检查它们,并检查它们中的某些是否包含$(anchor).attr('html') = 'you'r value'
,当你要找到这个锚点时,显然使用IF块,做其余的代码
答案 1 :(得分:0)
你可能不得不使用#youranchor以外的其他东西。浏览器会自动滚动到此,因此您无法使用jquery滚动到它。
看看这个插件: http://www.mathias-bank.de/2007/04/21/jquery-plugin-geturlparam-version-2/
它可以让你获得url参数。
因此您可以将自己的网址更改为http://mysite.com/it/servizi/&anchor=ecommerce
然后使用var anchor = $(document).getUrlParam(“anchor″);
获取您需要滚动到的锚点。
然后你也可以这样做:
$("#" + anchor).addClass('yourHighlightClass');
希望有所帮助:)
答案 2 :(得分:0)
发现这个:
使用jQuery动画滚动到锚点/ id函数 http://djpate.com/2009/10/07/animated-scroll-to-anchorid-function-with-jquery/
Google爱你,爱它。 :)
答案 3 :(得分:0)
你应该添加
$(function(){
var hash = document.location.hash;
document.location.hash = '#';
var element = $('a[name="'+hash.slice(1)+'"]');
if (element.length){
var top = element.offset().top;
$('html,body').animate({scrollTop:top }, 2000);
element.addClass('selected');
}
});
并在css中创建一个名为selected
的类,其中包含您希望突出显示的文本具有的效果..
.selected{color:red;}
在接收页面上..
演示代码 http://jsfiddle.net/gaby/XH72A/
演示示例 http://fiddle.jshell.net/gaby/XH72A/show/light/#line-80