我一直试图弄清楚这一整天,并继续在圈子中运行。我有两个问题希望得到帮助。 第一个:我有一个jquery背景幻灯片显示内部div。问题是,当背景淡出来介绍新的图像时,背景所指的DIV的孩子也是这样,我不想那样。你可以看到它at my website here我怎样才能隔离父DIV,使孩子不会淡出?下面是幻灯片代码:如何使jQuery的背景幻灯片只影响父div?
<script language="JavaScript" type="text/javascript">
$(document).ready(function(){
var imgArr = [ // relative paths of images
'http://www.ind-mediagroup.com/wp-content/themes/twentyeleven/indeximg/1.jpg',
'http://www.ind-mediagroup.com/wp-content/themes/twentyeleven/indeximg/2.jpg',
'http://www.ind-mediagroup.com/wp-content/themes/twentyeleven/indeximg/3.jpg',
'http://www.ind-mediagroup.com/wp-content/themes/twentyeleven/indeximg/4.jpg'
];
var preloadArr = [];
var i;
/* preload images */
for(i=0; i < imgArr.length; i++){
preloadArr[i] = new Image();
preloadArr[i].src = imgArr[i];
}
var currImg = 1;
var intID = setInterval(changeImg, 6000);
/* image rotator */
function changeImg(){
$('#centerdiv').animate({opacity: 0}, 1000, function(){
$(this).css('background','url(' +
preloadArr[currImg++%preloadArr.length].src +') center fixed no-repeat');
}).animate({opacity: 1}, 1000);
$('#centerdiv').css({'background-size': '100% 100%'}); }
});
</script>
这里是CSS有关的问题(我知道很多的,可能是多余的):
#centerdiv {
width:100%;
height: 642px;
background-color: #333333;
background-image:url('http://www.ind-mediagroup.com/wp- content/themes/twentyeleven/indeximg/houston-night.jpg');
background-repeat: no-repeat;/* i believe the next few lines are dealt with in the jquery code*/
background-size: 100% 100%;
background-position: center;
background-attachment: fixed;
top:0px;
padding-top: 55px;
}
.contentdiv {
width: 78%;
height: 75%;
margin: auto auto auto 140px;
background-image: url('http://www.ind-mediagroup.com/wp- content/themes/twentyeleven/indeximg/whitetransbg.png');
position: relative;
z-index: 10;
}
这里是HTML有关的问题:
<div id="centerdiv">
<div class="contentdiv">
<div class="wrappercontent">
<div id="contentname">
<p class="contentTextHeader">+<?php the_title() ?></p>
</div>
<div id="content">
<?php
if (have_posts()) :
while (have_posts()) :
the_post();
the_content();
endwhile;
endif;
?>
</div>
<div id="contentright">
<?php echo apply_filters('the_content', get_post_meta($post->ID, 'page_image', true)); ?>
</div>
</div>
</div>
</div>
二问题是这样的:我想要的背景图像,以填补DIV空间的100%。我设法得到这个在Chrome中加入工作:
$('#centerdiv').css({'background-size': '100% 100%'});
我不是一个jQuery的专家,所以我至今没有专家,我不知道,如果前面的代码是即使是正确的,但在其他浏览器,它给了我一个奇怪的效果。它会显示较大的图像,并在显示正确尺寸的图像后立即显示。使用现有的jQuery代码,有没有办法做到这一点?
我真的很感激任何帮助。我非常接近我想要的地方。
你能也表现出一定的HTML片段reagrding你的问题?请将您的代码格式化为更好的可读性。 – 2012-04-21 06:52:48
感谢您的回应!我编辑的帖子添加相关的HTML ...希望这可以帮助...我不知道你想如何格式化代码? – soccerprodigy777 2012-04-21 07:43:17
你应该在没有任何子元素的div上做背景图片的动画。正如你已经注意到的,孩子们也淡出了,但这是正常的行为。 – 2012-04-21 08:33:30