我创建了一个JSFiddle其按预期工作。
//Jquery script
function icon_hover()
{
$("#gcp-icon").hover( function(){
$("#gcp-icon-hover").slideDown();
},
function(){
$("#gcp-icon-hover").slideUp();
});
}
icon_hover();
//CSS
.site_logo{
width: 250px;
height: 250px;
background-color: rgba(0, 0, 0, 0.75);
}
.site_logo_hover{
width: 250px;
height: 250px;
background-color:#000000;
opacity:0.6;
display:none;
}
#gcp-icon
{
background: url(http://i.imgur.com/soDjoS4.png) no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
.hover_title{
color: white;
width: 220px;
margin-left: auto;
margin-right: auto;
padding-top: 80px;
font-weight: 600;
font-size: 11pt;
font-family: verdana;
}
.hover_text{
color: white;
width: 245px;
margin-left: auto;
margin-right: auto;
margin-top: 25px;
font-family: verdana;
font-size:9pt;
}
.click_me{
color: white;
width: 160px;
margin-left: auto;
margin-right: auto;
margin-top: 8px;
font-weight: 600;
font-size: 10pt;
font-family: verdana;
}
<!--HTML-->
<div class="site_logo" id="gcp-icon">
<div class="site_logo_hover" id="gcp-icon-hover">
<div class="hover_title" id="gcp-title">Grace Cook Photography</div>
<div class="hover_text" id="gcp-text">Simple, subtle, clean and good looking</div>
<div class="click_me">Click for more details</div>
</div>
</div>
但是,正如标题所示,当将其复制并粘贴到 html 页面并在网络浏览器中打开时 see this ,这没有按预期工作。
我尝试过调试。 Javascript 有效并且所有依赖项(例如 Jquey.js 等)均可用。
最佳答案
问题可能是,在 jsfiddle 中,脚本是在 dom 就绪时执行的(fiddle 不在 dom 就绪处理程序之外工作)....但在您的页面中,它看起来不是这样的
在 jsfiddle 中,LHS 面板中的第二个下拉菜单选择将添加脚本的位置,默认情况下它被添加为 window.onload
处理程序。
因此将 icon_hover
的调用移至 dom 就绪处理程序
jQuery(function(){
icon_hover();
})
演示:Fiddle
关于javascript - Jquery 脚本可以在 JSfiddle 中运行,但不能在 html 页面上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18754685/