gpt4 book ai didi

jquery - 动画宽度在 chrome 和 safari 中不能正常工作

转载 作者:太空宇宙 更新时间:2023-11-04 16:05:20 25 4
gpt4 key购买 nike

我在使用此脚本时遇到 Safari 和 Chrome 浏览器问题。我可以在两个浏览器中关闭侧边栏,但是当我点击滑动打开它时,侧边栏打开透明。一切正常,在 ff、opera 和 ie7+ 中应该如此

有什么想法吗?

<!doctype html>  
<html lang="et">
<head>
<meta charset="utf-8">
<title>Test</title>
<script src="jquery-1.7.1.min.js"></script>
<style>
body, html {
margin:0;
background-color:#666;
}

.fixed {
position:fixed;
width:auto;
height:100%;
}

.sidebar {
float:left;
width:300px;
height:100%;
}

.header {
float:left;
width:300px;
height:1200px;
background-color:#d8d8d8;
}

.body {
margin-left:600px;
width:600px;
background-color:red;
height:2000px;
}
</style>
<script>
$(document).ready(function() {
/*$('.sidebar').addClass('closed');
$('.sidebar').hide();
$('.body').css('margin-left', 300);*/

$('.close').click(function(e) {
e.preventDefault();

if($('.sidebar').hasClass('closed')) {
$('.sidebar').animate({ width : 'show'});
$('.body').animate({ marginLeft : 600});
$('.sidebar').removeClass('closed');
} else {
$('.sidebar').animate({ width : 'hide'});
$('.body').animate({ marginLeft : 300});
$('.sidebar').addClass('closed');
}
});
});
</script>
</head>
<body>
<div class="fixed">
<div class="sidebar">sidebar</div>
<div class="header"><a href="#" class="close">sule</a></div>
</div>
<div class="body">body</div>
</body>
</html>

最佳答案

更新

如评论中所述。你可以使用这个版本http://jsfiddle.net/QqGk6/解决你的问题


不那么笨拙,但更冗长。看起来这是一个常见的 WebKit 问题。

element = $('.header')[0];
var n = document.createTextNode(' ');
element.appendChild(n);
(function(){n.parentNode.removeChild(n)});

我发现这篇文章很有趣:http://ajaxian.com/archives/forcing-a-ui-redraw-from-javascript

您也可以尝试“add/removeClass”方法。


似乎他们不想重新绘制您的 .header .. 可能有点 hacky,但您可以检查一下

if($('.sidebar').hasClass('closed')) {
$('.sidebar').animate({ width : 'show'});
$('.header').append(" ");
$('.body').animate({ marginLeft : 600});
$('.sidebar').removeClass('closed');
} else {
$('.sidebar').animate({ width : 'hide'});
$('.body').animate({ marginLeft : 300});
$('.sidebar').addClass('closed');
}

希望这能帮助您找到问题。

关于jquery - 动画宽度在 chrome 和 safari 中不能正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9234843/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com