ورود

View Full Version : سوال: یه مشکل با تولتیپ tipsy



reza-shady
شنبه 30 مهر 1390, 12:49 عصر
سلام دوستان من تازه با این سایت آشنا شدم می دیدم خیلی خوب هست
من یه سوالی در مورد مورد jQuery و جاوا اسکریپت داشتم
راستش من دارم تولتیپ tipsy رو برای سایت خودم یه جورایی شخصی سازیش می کنم :خجالت: همون ادیت !

حالا یه مشکلی برخوردم که چون زیاد از جی کوئری و جاوا سر در نمیارم گفتم بپرسم تا شما عزیزان کمکم کنید

این tipsy اولش فقط واسه یک tag بود مثلا واسه A که یه خورده گسترش دادم به صورت زیر درش آوردم


<script type='text/javascript'>
$(function() {

$('a,label,input,img,textarea').tipsy({fade: true , gravity: $.fn.tipsy.autoNS , html: true , live: true });

});
</script>

این همون طور که می دونید title تگ های a,label,input,img,textarea رو یه صورت تولتیپ نشون می ده!
حالا اگه یکی از اینا خاصیت title رو نداشته باشه اون قالب تولتیپ ظاهر می شه اما خالیه !
عکس زیر رو ببینید:
76918
می خوام ببینم می شه کاری کرد که اگه کلاً اون شئ خاصیت تایتل نداشت اصلا تولتیپ اجرا نشه ؟
از دوستان کسی می تونه کمکم کنه !؟
کل فایل ها رو براتون ضمیمه می کنم
اگه می شه کمک کنید
فقط برام توضیح بدید که چیکار کردید دوست دارم یاد بگیرم!
ممنون :قلب:

reza-shady
شنبه 30 مهر 1390, 23:03 عصر
کسی نیست یه کمکی بکنه ؟

Reza1607
یک شنبه 01 آبان 1390, 22:56 عصر
selector تو به اين صورت بنويس
$('a[title!=""],label[title!=""],input[title!=""],img[title!=""],textarea[title!=""]').tipsy({fade: true , gravity: $.fn.tipsy.autoNS , html: true , live: true });

Reza1607
یک شنبه 01 آبان 1390, 23:09 عصر
راه ديگش و البته بهترش اينه كه فايل jquery.tipsy.js رو باز كني بعد خط 14 يعني خط زير
$(this).hover(function() {
رو به اينجوري تغيير بدي
$(this +"[title!='']").hover(function() {
ديگه نيازي نيست selector ها رو اونجوري بنويسي

tux-world
یک شنبه 01 آبان 1390, 23:17 عصر
این چیزی که شما میخوایید یه خورده سخته ببینید شما میتونین ابتدا بررسی کنید که title مقدار دهی شده یا نه اگه نشده میتونین اینکار رو بکنید. مثل این:
$(this).attr("title", "sometitle");
برای گرفتن مقدار اون تایتل هم از این کد میتونی استفاده کنی:
$("#myElement")[0].title = "new title value"; برای هر کودوم از المنت‌ها باید اینکار رو بکنید و اگه خالی بود مقدار دهی کنه حتی رشته خالی ولی اسپیس بار نباید بزنید از کد فاصله استفاده کنید .
این لینک ها رو هم ببین:
http://plugins.learningjquery.com/cluetip/demo/
http://jqueryfordesigners.com/element-exists/
این هم دقیقا چیزیه شبیه چیزی که تو میخوایی:
http://stackoverflow.com/questions/1097522/check-existence-of-an-attribute-with-jquery
باز هم راهنمایی ؟؟ ;)

Reza1607
دوشنبه 02 آبان 1390, 01:03 صبح
شرمنده يادم رفت توضيح بدم
تو جواب اول اومد از يكي از روشهاي انتخاب اجزا استفاده كردم كه به اين صورته
‏‎‎

$([attr=val])

خوب اين سلكتور مياد اجزايي كه خصوصيت attr‏ اشون برابر val‏ هست انتخاب ميكنه
درجواب اول اومديم المنت هايي رو انتخاب كرديم كه تايتل اون ها خالي نباشه به عبارت ديكه تايتل داشته باشن انتخاب ميشه
خوب از همين روش براي تعير فايل js‏ استفاده كرديم

مزيت روش دوم اينه كه انعطفاف بيشتري داره جون لازم نيست براي تك تك المنت ها اين‎ [title‎‎!‎='']‎ ‎ رو بنويسيد
اميدوارم متوجه شده باشيد
سوالي بود در خدمتيم