تالار گفتمان nCIS.ir

نسخه‌ی کامل: مشکل در نمایش عکس
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
با سلام خدمت دوستان

می خواستم وقتی با 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 گرفتم دیدم اون اچ تی ام الی که می خواستم رو لحاظ کرده اما یه جورایی اسکریپتش از کار افتاده . یعنی وقتی روی عکس کلیک می کنم هیچ اتفاقی نمی افته , در صورتی که همون اچ تی ام ال رو وقتی به صورت ثابت تو صفحه قرار میدم کار می کنه


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

$("#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>');
احتمالاً مشکل بخاطر همون موضوعه که گفتم. توی اینترنت درمورد Activate prettyPhoto on dynamic added images تحقیق کنید.
تصمیم گرفتن در زمان اضافه کردن مطلب از طرف کاربر این عملیات رو انجام بدم ولی باز یه مشکلی دیگه هست ..
نمی تونم متن تگ textarea که با ckeditor کار می کنه رو توسط jquery تغییر بدم و بعد بفرستم سمت سرور ...
از این کد استفاده می کنم ولی مقداری که من بهش می دم رو پست نمی کنه بلکه همون مقداری که تو ckeditor هستش رو پست می کنه چطوری می تونم متن خود ckeditor رو تغییر بدم ؟؟؟
		$("#text123").val("123");		
		document.forms["addplace"].submit();
اگه برای همه عکسهای داخل متن میخواین این کار رو انجام بدید بهتره این کار رو در سمت سرور با کمک regex انجام بدید.
حقیقتش تا به حال با 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>