Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JQuery更改不同div的背景图像_Jquery_Html - Fatal编程技术网

使用JQuery更改不同div的背景图像

使用JQuery更改不同div的背景图像,jquery,html,Jquery,Html,我有以下代码和脚本: $(文档).ready(函数(){ $('#unua')。悬停(函数(){ $('#pagina').css('background-image','url(imagini/1.png)'); },函数(){ $('#pagina').css('background-image',''); }); }); 为了便于理解,请看一下这个问题: 替换$('#pagina').css('background-image','url(imagini/1.png)) 与 如果我理解正

我有以下代码和脚本:

$(文档).ready(函数(){
$('#unua')。悬停(函数(){
$('#pagina').css('background-image','url(imagini/1.png)');
},函数(){
$('#pagina').css('background-image','');
});
});

为了便于理解,请看一下这个问题:

替换
$('#pagina').css('background-image','url(imagini/1.png))


如果我理解正确的话,当你在某个元素上悬停时,你想让你的网站背景图像改变吗?你想做的就是改变
div#pagina
的背景,但是
div
的高度没有覆盖整个页面?至少这里的代码是这样显示的

那么,在这种情况下,由于您的
jQuery
已经在
div
上进行了
背景图像的交换,因此您唯一需要做的就是设置
div的高度。
你可以通过将它的
高度设置为100%
,但它的父母也必须有100%的高度,通常需要一些调整才能使它看起来正确

我建议的其他解决方案由两部分组成:

  • 如果可能,在
    主体
    元素上添加背景图像
  • 如果可能,在css中将图像定义为
    背景图像
    ,并为其指定一个类,如
    .pagina background image{background image:'path/to/img.jpeg'}
    。通过这种方式,您可以使用CSS更有效地向背景添加过渡,例如淡入和类似效果
  • 另外,我建议您稍微优化一下
    jQuery
    。 当您将
    div
    与文本“test”悬停在一起时,可以查看控制台日志。
    $(文档).ready(函数(){
    var$pagina=$(“#pagina”);
    $pagina.hover(函数(){
    $pagina.toggleClass('background-image');
    });
    });
    
    
    
    测试
    我对这个页面做了一些修改:(现在,他们希望悬停的背景图像是一个实时预览。。。 因此,我将iframe框设置为:

    <div id="unu" class="cerculet"><div id="unua"><a href="http://tineriiuniti.ro/contact/">Contact</a><div class="box"><iframe src="http://tineriiuniti.ro/contact/" width = "500px" height = "500px"></iframe></div></div>
            </div>
    

    但它显示为弹出窗口。如何在背景图像中更改此设置?

    如果图像出现在
    imagini/
    文件夹中,脚本将正常工作。您能告诉我您在Chrome或Firebug的控制台选项卡中看到了什么吗?还要确保使用jQuery并在执行脚本之前加载它。如果图像存在,请nt在
    imagini
    目录中,那么它应该可以工作。你可以看到它在背景色中工作是的,没错,这就是我要说的:它现在可以工作了,谢谢你们!我没有加载jQuery:))对我来说仍然是早上:我如何在那里添加效果?要降低透明度和透明度,请执行以下操作:/嗨,我在这里发布了另一条关于这个页面的评论,你能帮我吗?我今天晚些时候去看看。我试过这样做,但没有成功:$(document.ready(function(){$('.box').hide();})$(#unua').hover(function(){$(#pagina').css($('background-image',$('.box'));}),函数(){$('#pagina').css('background-image',''');});你能再解释一下“直播预览”是什么意思吗?其他一些内部页面或外部页面?内部页面,来自它们的链接。。。让我解释一下,我有一个以圆圈为菜单的页面,当我将圆圈悬停在背景中时,会出现如下图所示的实时预览:
    <div id="unu" class="cerculet"><div id="unua"><a href="http://tineriiuniti.ro/contact/">Contact</a><div class="box"><iframe src="http://tineriiuniti.ro/contact/" width = "500px" height = "500px"></iframe></div></div>
            </div>
    
    .box {
        display: none;
        width: 100%;
    }
    
    a:hover + .box,.box:hover{
        display: block;
        position: relative;
        z-index: 100;
        opacity: 0.3;
    }