سافت سرا

عمومی کردن کد لایت باکس

1 پست در این موضوع قرار دارد

سلام. من این لایت باکس رو برای متن دانلود و یه سری تغییرات روش دادم.

به صورت پیش فرض یک پنجره داره که با کلیک بر روی "متن نمونه یک" نمایش داده میشه، اما من چند تا پنجره دارم و می خوام برای هر پنجره یه لینک در صفحه داشته باشم.

راهی که به ذهنم رسید اینه که برای هر پنجره استایل مجزایی تعریف کنم و در بخش click.function هم برای هر پنجره دستور مجزایی قرار بدم. عملی هم شد ولی می خوام ببینم راه راحت تر و عمومی تری نیست که برای هر لینک یه پنجره مجزا نمایش داده بشه، بدون اضافه کردن استایلها و کدهای اضافی برای هر پنجره.


<html>
<head>
<title>Quick Simple Light Box</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<style type="text/css">

body
{
font-family: Helvetica, Arial;
}

.backdrop
{
position:fixed;
top:0px;
left:0px;
width:100%;
height:100%;
background:#666;
opacity: .0;
filter:alpha(opacity=0);
z-index:50;
display:none;
}


.box
{
font-family: tahoma;
font-size: 12px;
text-align:right;
direction:rtl;
position:fixed;
top:20%;
left:30%;
width:500px;
height:300px;
background:#ffffff;
z-index:51;
padding:10px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 10px;
-moz-box-shadow:0px 0px 15px #444444;
-webkit-box-shadow:0px 0px 15px #444444;
box-shadow:0px 0px 15px #444444;
display:none;
}

.boxtitle {
text-align:right;
font-weight:bold;
border-bottom: solid 1px #666;
padding-bottom: 8px;
}

.close
{
float:left;
margin-right:6px;
text-align: center;
width: 100px; height: 25px;
background-color:#9F6;
border-radius: 5px;
cursor:pointer;
border-top: solid 1px #9C0;
}

</style>

<script type="text/javascript">

$(document).ready(function(){

$('.lightbox').click(function(){
$('.backdrop, .box').animate({'opacity':'.50'}, 300, 'linear');
$('.box').animate({'opacity':'1.00'}, 300, 'linear');
$('.backdrop, .box').css('display', 'block');
});

$('.close').click(function(){
close_box();
});

$('.backdrop').click(function(){
close_box();
});

});

function close_box()
{
$('.backdrop, .box').animate({'opacity':'0'}, 300, 'linear', function(){
$('.backdrop, .box').css('display', 'none');
});
}

</script>

</head>
<body>

<h1>This is my webpage...</h1>
<p><a href="#" class="lightbox">متن نمونه یک</a></p>
<p><a href="#" class="lightbox">متن نمونه دو</a></p>
<p><a href="#" class="lightbox">متن نمونه سه</a></p>
<div class="backdrop"></div>
<div class="box">
<div class="boxtitle">متن نمونه یک</div>
<p>توضیحات</p>
<div class="close">بستن</div>
</div>
</body>
</html>

test.html

0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری