ورود

View Full Version : مشکل با نوشتن PlugIn



cemohsen
سه شنبه 23 آذر 1389, 10:52 صبح
سلام
من یک پلاگین ساده به صورت زیر نوشتم که در حالی زیر کار می کنه و هیچ مشکلی نداره
(می بینید که چقدر به دور از آداب برنامه نویسی نوشته شده)


(function($) {
jQuery.fn.TypeWriter = function(options) {
var defaultOptions = {
newsDelay: 5000,
typerDelay: 30
};
var setting = $.extend(defaultOptions, options);
return this.each(function() {
createTicker(this.id, setting.newsDelay, setting.typerDelay);


});

};
})(jQuery);

TickerId = "";
NewsDelay = 0;
TypeDelay = 0;
function createTicker(id, nDelay, tDelay) {
TickerId = id;
NewsDelay = nDelay;
TypeDelay = tDelay;
var tickerLIs = $("#" + TickerId).children();
tickerItems = new Array();
tickerLIs.each(function(el) {
tickerItems.push(jQuery(this).html());
}); i = 0; rotateTicker();
}
function rotateTicker() {
if (i == tickerItems.length) i = 0;
tickerText = tickerItems[i]; c = 0; typetext(); setTimeout("rotateTicker()", NewsDelay); i++;
}
var isInTag = false;
function typetext() {
var thisChar = tickerText.substr(c, 1);
if (thisChar == '<') { isInTag = true; }
if (thisChar == '>') { isInTag = false; }
$("#" + TickerId).html("&nbsp;" + tickerText.substr(0, c++));
if (c < tickerText.length + 1)
if (isInTag) {
typetext();
} else { setTimeout("typetext()", TypeDelay); }
else {
c = 1; tickerText = "";
}
}


حالا وقتی می خوام اون قسمت قرمز رنگ رو ببرم توی خود متد پلاگین تا بتونم به متغیر های پلاگین هم دسترسی داشته باشم (مثل خیلی از پلاگین هایی که نوشته می شه) خطا می ده که
There is no source code available for the current location.
و کد کار نمی کنه!!!

این هم کدی که خطا داره


(function($) {
jQuery.fn.TypeWriter = function(options) {
var defaultOptions = {
newsDelay: 5000,
typerDelay: 30
};
var setting = $.extend(defaultOptions, options);
var isInTag = false;
return this.each(function() {

var tickerLIs = $("#" + this.id).children();
tickerItems = new Array();
tickerLIs.each(function(el) {
tickerItems.push(jQuery(this).html());
});

i = 0; rotateTicker(this.id);
});//End Each

function rotateTicker(id) {
if (i == tickerItems.length) i = 0;
tickerText = tickerItems[i]; c = 0; typetext(id); setTimeout("rotateTicker(" + id + ")", setting.typerDelay); i++;
} //End rotateTicker

function typetext(id) {
var thisChar = tickerText.substr(c, 1);
if (thisChar == '<') { isInTag = true; }
if (thisChar == '>') { isInTag = false; }
$("#" + id).html("&nbsp;" + tickerText.substr(0, c++));
if (c < tickerText.length + 1)
if (isInTag) {
typetext(id);
} else { setTimeout("typetext(" + id + ")", setting.typerDelay); }
else {
c = 1; tickerText = "";
}
} //End typetext
};
})(jQuery);
}





کسی می دونه مشکل چیه ؟؟؟

hamzeh241
چهارشنبه 24 آذر 1389, 08:21 صبح
سلام
من زیاد متوجه نشدم که این اسکریپت چیه و چه جوری کار می کنه اما تا اونجا که من میدونم نمی شه این متغیرها را داینامیک توی خود اسکریپت تعریف کرد. پشنهاد می کنم از IDE جاو اسکریپت استفاده کنی