رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل در نمایش عکس
#1
با سلام خدمت دوستان

می خواستم وقتی با PHP دارم از سرور متن رو میگیرم و به کاربر نشون میدم , اگر تویه متن عکسی وجود داشت کاربر با کلیک بر روی اون بتونه عکسه بزرگ شدشو همراه با یه افکت ببینه...

برای همین رفتم و یه اسکریپت که عکس رو بزرگ می کردم دانلود کردم ولی شرطش این بود که ساختار اچ تی ام الی خاصی رو به عکس نسبت بدی تا عکس رو واست بزرگ کنه ...

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

$(".spp").append('<ul class="gallery clearfix"><li><a href="js/gallary/images/fullscreen/2.jpg" rel="prettyPhoto" title=""><img src="js/gallary/images/thumbnails/t_2.jpg" width="60" height="60" alt="Picture alone 1" /></a></li></ul>');

هدفمی که داشتم انجام شد یعنی وقتی inspect element گرفتم دیدم اون اچ تی ام الی که می خواستم رو لحاظ کرده اما یه جورایی اسکریپتش از کار افتاده . یعنی وقتی روی عکس کلیک می کنم هیچ اتفاقی نمی افته , در صورتی که همون اچ تی ام ال رو وقتی به صورت ثابت تو صفحه قرار میدم کار می کنه


می خواستم از شما دوستان کمک بگیرم ببینم چی کار کنم که اسکریپتش فعال شه یا اینکه راه بهتری سراغ دارین ؟؟
پاسخ
تشکر شده توسط:
#2
برای عناصری که بصورت پویا به صفحه اضافه میشن، باید با متد on (یا live توی نسخه های قدیمی تر jQuery) رویداد تعریف کنید. Event Handler Binding استاتیک فقط روی عناصری که در لحظه اتصال کنترل کننده رویداد توی صفحه وجود دارن کار میکنه. مثال:
$("body").on("a[rel=pretty‍hoto] img", "click", function() {
    alert($(this).attr("title"));
});
پاسخ
تشکر شده توسط:
#3
تاپیک به بخش jQuery منتقل شد.
پاسخ
تشکر شده توسط:
#4
من از این دستور استفاده کردم اچی تی ام ال رو تبدیل می کنه اما عکس رو بزرگ نمی کنه !!!

$("#main").find("img").replaceWith('<ul class="gallery clearfix"><li><a href="js/gallary/images/fullscreen/2.jpg" rel="prettyPhoto" title=""><img src="js/gallary/images/thumbnails/t_2.jpg" width="60" height="60" alt="Picture alone 1" /></a></li></ul>');
پاسخ
تشکر شده توسط:
#5
احتمالاً مشکل بخاطر همون موضوعه که گفتم. توی اینترنت درمورد Activate prettyPhoto on dynamic added images تحقیق کنید.
پاسخ
تشکر شده توسط:
#6
تصمیم گرفتن در زمان اضافه کردن مطلب از طرف کاربر این عملیات رو انجام بدم ولی باز یه مشکلی دیگه هست ..
نمی تونم متن تگ textarea که با ckeditor کار می کنه رو توسط jquery تغییر بدم و بعد بفرستم سمت سرور ...
از این کد استفاده می کنم ولی مقداری که من بهش می دم رو پست نمی کنه بلکه همون مقداری که تو ckeditor هستش رو پست می کنه چطوری می تونم متن خود ckeditor رو تغییر بدم ؟؟؟
		$("#text123").val("123");		
		document.forms["addplace"].submit();
پاسخ
تشکر شده توسط:
#7
اگه برای همه عکسهای داخل متن میخواین این کار رو انجام بدید بهتره این کار رو در سمت سرور با کمک regex انجام بدید.
...
پاسخ
تشکر شده توسط:
#8
حقیقتش تا به حال با regex کار نکردم , یادم قبلا که یه نگاهی بهش انداختم خیلی گیج کننده بود واسم

میشه یه نمونه کد واسه این سناریو بدین : هر جا که تگ img داشت آدرسه عکس رو بگیره و تبدیل بشه به :


<ul class="gallery clearfix"><li><a href="js/gallary/images/fullscreen/2.jpg" rel="prettyPhoto" title=""><img src="js/gallary/images/thumbnails/t_2.jpg" width="60" height="60" alt="Picture alone 1" /></a></li></ul>
پاسخ
تشکر شده توسط:




کاربران در حال بازدید این موضوع: 3 مهمان