amin_sltny
پنج شنبه 14 فروردین 1393, 08:46 صبح
سلام دوستان من کد html به صورت زیر دارم
<div class="newnews"> <div class="title">تازه ترین ها</div> <div class="news"> <a href=""> متن موجود نیست ?> </a> <a href=""> متن موجود نیست ?> </a> <a href=""> متن موجود نیست ?> </a> <a href=""> متن موجود نیست ?> </a> <a href=""> متن موجود نیست ?> </a> <a href=""> متن موجود نیست ?> </a> </div> </div>
display تمام تگ های a, none هست و من می خوام آن ها به ترتیب از اول به آخر نمایش داده شوند و دوباره از اول به آخر و در همین حین می خوام آن ها به صورت تایپ نمایش داده شود یعنی مثلا وقتی تگ a اول نمایش داده میشه متنی داخلش نباشه و بعد متنش تایپ شود و بعد کمی صبر تگ دوم نمایش داده شود
من کدش را در جی کوئری به صورت زیر نوشتم اما ظاهرا توی timeout ها اشتباه کردم و بعد از زمانی کلا قاطی می کنه می خواستم کمکم کنید این مشکلا بر طرف کنم
کد جی کوئری:
var aCount = $(".newnews div:nth-child(2) a").length;
var aCounter = 0;
setTimeout(function() { changetag(); }, 0);
var changetag= function() {
$('.newnews div:nth-child(2) a').eq(aCounter - 1).hide();
var tag = $('.newnews div:nth-child(2) a').eq(aCounter);
var txt = $('.newnews div:nth-child(2) a').eq(aCounter).text();
var timeOut;
var txtLen = txt.length;
var char = 0;
tag.text('_');
tag.show();
(function typeIt() {
var humanize = Math.round(Math.random() * (200 - 30));
timeOut = setTimeout(function() {
char++;
var type = txt.substring(0, char);
tag.text(type + '_');
typeIt();
if (char == txtLen) {
tag.text(tag.text().slice(0, -1)); // remove the '|'
clearTimeout(timeOut);
}
else if(char >= 90)
{
tag.text(tag.text().slice(0, -1) + ' ...'); // remove the '|'
clearTimeout(timeOut);
}
}, humanize);
}());
aCounter++;
if(aCounter == aCount)
{
aCounter = 0;
}
setTimeout(function() { changetag(); }, 10000);
}
<div class="newnews"> <div class="title">تازه ترین ها</div> <div class="news"> <a href=""> متن موجود نیست ?> </a> <a href=""> متن موجود نیست ?> </a> <a href=""> متن موجود نیست ?> </a> <a href=""> متن موجود نیست ?> </a> <a href=""> متن موجود نیست ?> </a> <a href=""> متن موجود نیست ?> </a> </div> </div>
display تمام تگ های a, none هست و من می خوام آن ها به ترتیب از اول به آخر نمایش داده شوند و دوباره از اول به آخر و در همین حین می خوام آن ها به صورت تایپ نمایش داده شود یعنی مثلا وقتی تگ a اول نمایش داده میشه متنی داخلش نباشه و بعد متنش تایپ شود و بعد کمی صبر تگ دوم نمایش داده شود
من کدش را در جی کوئری به صورت زیر نوشتم اما ظاهرا توی timeout ها اشتباه کردم و بعد از زمانی کلا قاطی می کنه می خواستم کمکم کنید این مشکلا بر طرف کنم
کد جی کوئری:
var aCount = $(".newnews div:nth-child(2) a").length;
var aCounter = 0;
setTimeout(function() { changetag(); }, 0);
var changetag= function() {
$('.newnews div:nth-child(2) a').eq(aCounter - 1).hide();
var tag = $('.newnews div:nth-child(2) a').eq(aCounter);
var txt = $('.newnews div:nth-child(2) a').eq(aCounter).text();
var timeOut;
var txtLen = txt.length;
var char = 0;
tag.text('_');
tag.show();
(function typeIt() {
var humanize = Math.round(Math.random() * (200 - 30));
timeOut = setTimeout(function() {
char++;
var type = txt.substring(0, char);
tag.text(type + '_');
typeIt();
if (char == txtLen) {
tag.text(tag.text().slice(0, -1)); // remove the '|'
clearTimeout(timeOut);
}
else if(char >= 90)
{
tag.text(tag.text().slice(0, -1) + ' ...'); // remove the '|'
clearTimeout(timeOut);
}
}, humanize);
}());
aCounter++;
if(aCounter == aCount)
{
aCounter = 0;
}
setTimeout(function() { changetag(); }, 10000);
}