رفتن به مطلب

پست های پیشنهاد شده

با سلام خدمت همه دوستان

من یک باکس css ویرایش کردم که دارای فایل js هست و بدون مشکل کار میکنه. ولی وفتی میخوام برای یک جای دیگه از همین تب باکس استفاده کنم به مشکل بر میخوریم.

برای اینکه متوجه منطورم بشید :

یک فایل html داریم که کدش به صورت زیر هست :


<ul class="tabContainer">
<!-- The jQuery generated tabs go here -->
</ul>
<div class="clear"></div>
<div id="tabContent">
<div id="contentHolder">
<!-- The AJAX fetched content goes here -->
</div>
</div>

حالا با style.css کاری نداریم.

و یک فایل js داره به صورت زیر :


$(document).ready(function(){
/* This code is executed after the DOM has been completely loaded */

/* Defining an array with the tab text and AJAX pages: */
var Tabs = {
'Tab one' : 'pages/page1.html',
'Tab two' : 'pages/page2.html',
'Tab three' : 'pages/page3.html',
'Tab four' : 'pages/page4.html'
}

/* The available colors for the tabs: */
var colors = ['blue','green','red','orange'];

/* The colors of the line above the tab when it is active: */
var topLineColor = {
blue:'lightblue',
green:'lightgreen',
red:'red',
orange:'orange'
}

/* Looping through the Tabs object: */
var z=0;
$.each(Tabs,function(i,j){
/* Sequentially creating the tabs and assigning a color from the array: */
var tmp = $('<li><a href="#" class="tab '+colors[(z++%4)]+'">'+i+' <span class="left" /><span class="right" /></a></li>');

/* Setting the page data for each hyperlink: */
tmp.find('a').data('page',j);

/* Adding the tab to the UL container: */
$('ul.tabContainer').append(tmp);
})
/* Caching the tabs into a variable for better performance: */
var the_tabs = $('.tab');

the_tabs.click(function(e){
/* "this" points to the clicked tab hyperlink: */
var element = $(this);

/* If it is currently active, return false and exit: */
if(element.find('#overLine').length) return false;

/* Detecting the color of the tab (it was added to the class attribute in the loop above): */
var bg = element.attr('class').replace('tab ','');
/* Removing the line: */
$('#overLine').remove();

/* Creating a new line with jQuery 1.4 by passing a second parameter: */
$('<div>',{
id:'overLine',
css:{
display:'none',
width:element.outerWidth()-2,
background:topLineColor[bg] || 'white'
}}).appendTo(element).fadeIn('slow');

/* Checking whether the AJAX fetched page has been cached: */

if(!element.data('cache'))
{
/* If no cache is present, show the gif preloader and run an AJAX request: */
$('#contentHolder').html('<img src="img/ajax_preloader.gif" width="64" height="64" class="preloader" />');
$.get(element.data('page'),function(msg){
$('#contentHolder').html(msg);

/* After page was received, add it to the cache for the current hyperlink: */
element.data('cache',msg);
});
}
else $('#contentHolder').html(element.data('cache'));

e.preventDefault();
})

/* Emulating a click on the first tab so that the content area is not empty: */
the_tabs.eq(0).click();
});

اگر دقت کنید داخل فایل js فایل های html هم هست که با زدن tab 1 یا tabs 2 محتوای داخل فایل page1.html و... نشون میده.

حالا من میخوام در همون صفحه وبم که یکبار از این تب باکس استفاده کردم دوباره استفاده کنم ولی با محتوای جدید. ولی وقتی استفاده میکنم خراب میشه کلا صفحه.

چطوری میتونم داخل فایل js این کد های دیگه تعریف کنم تا بتون به یک Div جدید از این استفاده کنم؟

امیدوارم منظورم رو رسونده باشم.

ممنون میشم راهنمایی کنید

سپاس

ویرایش شده توسط webmaster
لینک به ارسال

این کد کامل نیست کد فایل js مربوط به تب ها هم شرطه ولی معمولا می شه


var Tabs = {
'Tab one' : 'pages/page1.html',
'Tab two' : 'pages/page2.html',
'Tab three' : 'pages/page3.html',
'Tab four' : 'pages/page4.html',
'Tab five' : 'pages/page5.html',
'Tab six' : 'pages/page6.html'
}

و اگر به کدهای اصلی دسترسی باشه ممکنه بشه اینجوری هم صدا زد


var Tabs1 = {
'Tab one' : 'pages/page1.html',
'Tab two' : 'pages/page2.html',
'Tab three' : 'pages/page3.html',
'Tab four' : 'pages/page4.html'
}
var Tabs2 = {
'Tab one' : 'pages/page5.html',
'Tab two' : 'pages/page6.html',
'Tab three' : 'pages/page7.html',
'Tab four' : 'pages/page8.html'
}

لینک به ارسال

ممنون استاد عزیز

کد ها رو همینطوری که در قسمت دوم گفتید قرار دادم ولی زمانی که روی تب هاش کلیک میکنم به صورت کاملا خود جوش شروع میکنه تا ته صفحه باکس میسازه :D

فایل دمو رو پیوست کردم اگر لطف کنید ببینید ممنون میشم.

داخل کد html اش دو تا باکس قرار دادم که زمانی که تب های باکس دوم رو میزنم محتوای باکس اول عوض میشه و باکس دوم بدون مجتوا است.

demo23.zip

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...