我正在尝试将菜单的位置设置为动态生成高度的滑块下方,所以我使用imagesloaded加载我的jquery,所有内容都适用于除safari之外的所有浏览器检索后端中设置的滑块的高度,而不是根据页面大小动态生成的图像的高度。这只发生在野生动物园...... 这是定位菜单的javascript:
$.browser.safari = ($.browser.webkit && !(/chrome/.test(navigator.userAgent.toLowerCase())));
if ($.browser.safari) {
$(window).load(function () {
var $container = $('.ls-wp-fullwidth-container');
$container.imagesLoaded(function () {
var height = $(".ls-wp-fullwidth-container").height() - 50;
$(".menu_wrap").css('top', height);
});
});
} else {
$(window).load(function () {
var $container = $('.ls-wp-fullwidth-container');
$container.imagesLoaded(function () {
var height = $(".ls-wp-fullwidth-helper").height();
$(".menu_wrap").css('top', height);
});
});
}
$(window).resize(function () {
var height = $(".ls-wp-fullwidth-container").height() + 40;
$(".menu_wrap").css('top', height);
});
正在使用的滑块是任何滑块我正在使用名为cleanspace的主题林主题并运行wordpress 3.5.1。
我尝试使用$(window).bind("load",function(){
最后加载jquery并$.browser.safari = ($.browser.webkit && !(/chrome/.test(navigator.userAgent.toLowerCase())));
if ($.browser.safari) {
检测到在PC上工作正常但在Mac上失败的浏览器,所以我留下了粘贴在这里的第一个代码并等待任何帮助。
注意:如果safari会在滑块图像后加载我的jQuery,那么这里的if语句是不需要的......
答案 0 :(得分:0)
我找到了一个工作,我猜它不是最好的答案,并且很乐意听到更好的建议,基本上我已经在这个函数上放了一个定时器,如下所示:
if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1) {
$(window).load(function() {
setTimeout(function(){
var $container = $('.ls-wp-fullwidth-helper');
$container.imagesLoaded( function() {
var height = $(".ls-wp-fullwidth-helper").height() ;
$(".menu_wrap").css('top', height);
});
}, 2000);
});
}
else {
$(window).load(function() {
var $container = $('.ls-wp-fullwidth-helper');
$container.imagesLoaded( function() {
var height = $(".ls-wp-fullwidth-helper").height();
$(".menu_wrap").css('top', height);
});
});
}
$(window).resize(function(){
var height = $(".ls-wp-fullwidth-helper").height() + 40;
$(".menu_wrap").css('top', height);
});