【发布时间】:2018-03-13 23:38:09
【问题描述】:
我有一个运行良好的 Wordpress 网站...直到我今天查看它,它不会滚动,菜单也不起作用。
这是网址...
我在 Chrome 中查看它,但我无法用鼠标滚轮向下滚动,而且当我点击菜单项时,它们什么也不做。我没碰过它,上周它工作得很好。
如果我把鼠标移到最右边,会出现一个垂直滚动条,我可以用它来滚动...
它似乎在我 iPad 上的 Chrome 中也能正常工作。
一些研究告诉我,这是由于 Chrome v61 更新了它处理滚动的方式造成的。
代码可能在多个地方被破坏,但这是一个我怀疑不再有效的示例......
// Quick scrolling to content
// ...................................................................
$fullSlider.data('scrolling', false);
var autoScrollTime = 650,
scrollEasing = 'easeInOutQuart',
pos = false;
// DOMMouseScroll = Mozilla, onmousewheel = IE, mousewheel = everything else
$('body').on('mousewheel onmousewheel DOMMouseScroll', function(e) {
e = e.originalEvent || window.event; // Get the event
wheelData = e.detail ? -e.detail : e.wheelDelta / 40; // Wheel data for different browsers
contentStart = $('#AfterSlider').offset().top - wpAdminbar; // beginning of page content
pos = Math.round(contentStart - $(document).scrollTop()); // Distance from top padder
screenWidth = $(window).width(); // Only use on large screens
if ($fullSlider.data('scrolling')) {
return false; // disable wheel
} else {
if (screenWidth < 768 || window.mobilecheck())
return true; // do nothing on small screens
if (wheelData < 0 ) {
//scroll down
scrollDir = 'down';
// Auto scroll to content
if ( pos > 20 ) {
$fullSlider.data('scrolling', 'down'); // mark as active
// Scroll to position
$.scrollTo( contentStart, autoScrollTime, {
easing: scrollEasing,
onAfter: function() { $fullSlider.data('scrolling', false); } // mark complete
});
return false; // disable wheel (smoother effect)
}
} else {
//scroll up
scrollDelta = (scrollDir != 'up') ? 0 : scrollDelta; // reset delta on direction change
scrollDir = 'up';
// Auto scroll to slideshow
if ( pos >= -1 ) {
$fullSlider.data('scrolling', 'up'); // mark as active
// Scroll to position
$.scrollTo( 0, autoScrollTime, {
easing: scrollEasing,
onAfter: function() { $fullSlider.data('scrolling', false); } // mark complete
});
return false; // disable wheel (smoother effect)
}
// Hard stop at content top
scrollDelta = (scrollDelta < 620) ? scrollDelta + (wheelData * 45) : scrollDelta; // should be (wheelData * 40) but we're being conservative
scrollEndPos = pos + scrollDelta;
if ( pos < -1 && (pos > -120 || scrollEndPos > -160) ) {
$fullSlider.data('scrolling', 'top'); // mark as active
jQuery.scrollTo.window().stop(true);
// Scroll to position
$.scrollTo( contentStart, 455, {
easing: 'easeOutBack',
onAfter: function() {
$.scrollTo( contentStart, 1); // make sure it hit the target
setTimeout( function() { $fullSlider.data('scrolling', false); }, 135); // mark complete
}
});
return false;
}
}
}
});
感谢您的帮助! 丹
【问题讨论】:
-
要了解为什么得分如此之低,请参阅this page on what topics are appropriate 和this page on how to format your question。 “我的网站坏了”对任何人都没有帮助。
-
您是否检查了站点并查看了控制台错误?你会看到 go_pricing_styles.css 没有被加载
-
啊...存在高度可疑的控制台错误。不错的收获。不知道为什么这不再起作用。让我调查!谢谢,sn3ll!
-
德拉特。修复了所有这些问题,问题仍然存在。
-
好的。根据支持论坛的说法,这个 WordPress 主题的其他用户也开始遇到同样的神秘问题。如果发现任何解决方案,我会通知您。
标签: javascript jquery html css wordpress