데모 자료를 보여주기 위해 개인 사이트를 만들고 있는데, 사용자가 작은 창을 아래쪽으로 움직이고 세부 정보를 표시하도록하는 미리보기 이미지를 클릭하도록 허용하려고합니다. 현재 완벽하게 작동하지만 항목을 계속 추가하면 코드가 매우 반복적으로 표시됩니다. "item2," "item3,"등등 ...에 대해이 코드를 모두 반복해야합니다. 아마도 1 개의 스크립트로 처리 할 수있는 더 효율적인 방법이 있을까요? jQuery와 Javascript가 처음인데 제 코드를 능률화하는 데 더 나아 가고 싶습니다.Javascript/jQuery 팝업 코드 최소화 코드
는 여기에 내가 사용하고있는 작업은 다음과 같습니다
<script type="text/javascript">
$(function() {
$('#activator_item1').click(function(){
$('#overlay').fadeIn('fast',function(){
$('#box_item1').animate({'top':'250px'},500);
});
});
$('#boxclose_item1').click(function(){
$('#box_item1').animate({'top':'-500px'},500,function(){
$('#overlay').fadeOut('fast');
});
});
});
</script>
CSS
.box_item1{
position:fixed;
top:-800px;
height:400px;
width:550px;
left:30%;
right:30%;
background-color:#fff;
color:#333;
padding:20px;
border:2px solid #ccc;
-moz-border-radius: 20px;
-webkit-border-radius:20px;
-khtml-border-radius:20px;
-moz-box-shadow: 0 1px 5px #333;
-webkit-box-shadow: 0 1px 5px #333;
z-index:101;
text-align:left;
}
.box_item1 h1{
border-bottom: 1px solid #7F7F7F;
margin:-20px -20px 0px -20px;
padding:10px;
background-color:#1E87BE;
color:#fff;
font-family:"Arial Black", Gadget, sans-serif;
-moz-border-radius:20px 20px 0px 0px;
-webkit-border-top-left-radius: 20px;
-webkit-border-top-right-radius: 20px;
-khtml-border-top-left-radius: 20px;
-khtml-border-top-right-radius: 20px;
}
a.boxclose_item1{
float:right;
width:26px;
height:26px;
background:transparent url(images/cancel.png) repeat top left;
margin-top:-30px;
margin-right:-30px;
cursor:pointer;
}
a.activator_item1{
width:153px;
height:150px;
position:relative;
top:0px;
left:0px;
z-index:1;
cursor:pointer;
HTML
<div id="item1"><a class="activator_item1" id="activator_item1"><img src="images/item1_button.png"/></a></div>
<div class="overlay" id="overlay" style="display:none;"></div>
<div class="box_item1" id="box_item1">
<a class="boxclose_item1" id="boxclose_item1"></a>
<h1>Title</h1>
<h2>Content</h2>
<h3><ul><li>Detail 1</li><li>Detail 2</li></ul></h3>
</div>
</div>
사용 CSS 클래스 올바른 방법 - 당신은'.activator_item','.box_item' 등 하나의 규칙을 가지고 수 없습니다 : 이것은 당신이 JQuery와의 활성제를 모두 선택하고 반복 할 수 있습니다 것 CSS 반복. 그런 다음 JavaScript 함수를 만들어 창을 팝업하십시오. – Ryan