我在avalonbyeaw.com的导航栏上成功实现了scrollTo脚本,我的客户希望从主页添加链接。容易,对吗?我猜不会。它不仅不会滚动,而且还会将#finishes
添加到我们从导航链接中删除的网址中。我猜我只需要在某处添加链接到某个功能?我无法理解。
的Javascript
$(document).ready(function() {
$('a.panel').click(function () {
$('a.panel').removeClass('selected');
$(this).addClass('selected');
current = $(this);
$('#wrapper').scrollTo($(this).attr('href'), 800);
return false;
});
$(window).resize(function () {
resizePanel();
});
});
function resizePanel() {
width = $(window).width();
height = $(window).height();
mask_width = width * $('.item').length;
$('#debug').html(width + ' ' + height + ' ' + mask_width);
//$('#wrapper, .page').css({width: width, height: height});
//$('#stage').css({width: mask_width, height: height});
$('#wrapper').scrollTo($('a.selected').attr('href'), 0);
}
使用导航链接html
<div id="nav-finishes" class="nav"><a href="#finishes" class="panel panel-finishes" alt="finishes"><img src="images/spacer.gif" height="10" width="79" border="0" /></a></div>
非工作链接已添加到piecemaker xml Feed
<Text><p>Avalon by EAW features automotive-class finishes on all trim pieces. <a href="#finishes" class="panel">Optional premium enclosure finishes</a> set these systems in a class by themselves.</p></Text>
答案 0 :(得分:0)
jQuery无法将点击事件处理程序附加到flash内部返回的XML,这就是您的脚本失败的原因。
可能是油腻的黑客:
尝试在XML中返回类似的内容。
<a href="#finishes" onClick="$('#nav-finishes a').trigger('click'); return false;" class="panel">
这里的想法是,当用户点击xml中的链接时,它将触发主导航的虚拟点击,我们知道这已经在工作。
可能更好的黑客攻击:
安装此jQuery插件:http://benalman.com/projects/jquery-hashchange-plugin/
然后你可以这样做:
$(window).hashchange( function(e){
e.preventDefault();
$('#wrapper').scrollTo(location.hash, 800);
});
您可以删除$('#wrapper').scrollTo($(this).attr('href'), 800);