• اطلاعیه ها

    • Morteza

      باهم بسازیم: اطلس ووکامرس و وردپرس   14/07/96

      تاپیک ایجاد شده برای بحث در جهت ایجاد یک منبع، ویکی، صفحات توضیحی و یا بخش آموزشی جامع برای وردپرس و متعلقات مختلف آن است. لطفا جهت مشارکت در این بحث، ارائه پیشنهاد و یا انتقاد به تاپیک فوق مراجعه کنید. باهم بسازیم: اطلس ووکامرس و وردپرس
سافت سرا

اجرای تابع بر مبنای ID یا Class

20 پست در این موضوع قرار دارد

سلام.

یه سری دکمه ها هستن هیچ تابع یا دستور خاصی مثله onclick (در ظاهر) ندارن و دستورشون رو بر مبنای کلاس یا ایدی یه تگ انجام میدن.

توابعشونم معمولن به این صورته

$("a","#"+options.nextId).click(function(){
animate("next",true);
});

حالا اگه من بخوام این دستور رو به یه دکمه ی دیگه بدم باید چیکار کنم. می دونم یه مقدار گنگه واسه همین یه مثال آپلود کردم.

تو این مثال با کلیک بر روی دکمه ی سمت راست تصاویر گروه بعدی و با کلیک بر روی دکمه ی سمت چپ تصاویر گروه قبلی رو نمایش میده.

حالا اگه من بخوام یه متن (مثلن بعدی) تو پایین صفحه داشته باشم که با کلیک بر روی اون تصاویر گروه بعدی نمایش داده بشه چیکار باید بکنم؟

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

sample.rar

0

به اشتراک گذاری این پست


لینک به پست

index و css این نمونه ای که قرار دادی ویرایش کردم

والان به جای عکس کلمه / بعدی و قبلی / جایگزین شده

البته اگه درست متوجه شده باشم !

+.rar

0

به اشتراک گذاری این پست


لینک به پست

نه متاسفانه. منظور من این نبود. من در واقع می خواستم یه آشنایی در موارد این چنینی داشته باشم، مثلا چه جوری دستوری که باعث میشه تصاویر به سمت راست اسکرول شن رو به یه آبجکت دیگه داد. مثلا در حالی که تصاویر قبلی با همون کلاس موجودن اون پایین صفحه هم یه لینک باشه که همون کارو انجام بده، نه اینکه تصویر رو حذف کنم و به جاش قبلی و بعدی رو بنویسم.

مثلن در همین مثال چه جوری میشه تعیین کرد که تصاویر موجود به صورت خودکار مثلن بعد از 10 ثانیه اسکرول شن؟

0

به اشتراک گذاری این پست


لینک به پست

خب برای این کار بهتره از کلاس استفاده کنید شما میتونین به یک المان بیش از 1 کلاس بدین

برای انجام کارهایی مشابه این میتونین یک کلاس ثابت برای این کار تعریف کنید مثلا next حالا

شما برای دکمتون یک استایل تعریف کردین مثلا کلاس btn و برای لینکتون هم یک کلاس به نام

lnk خب حالا برای قرار دادن این کلاسها کنار هم ابتدا نام کلاسی که حالت اجرایی داره مثلا در

jquery ازش استفاده شده و سپس کلاس استایل


<a href="#" class="next lnk">link</a>

3

به اشتراک گذاری این پست


لینک به پست

ممنون. خوب اینم روشیه. اما سوال من این بود که چه جوری میشه این دستور را در بخشهای دیگه استفاده کرد.

مثلن تو همین مثال می خوام به محض لود شدن صفحه تصاویر یک بار اسکرول شن (انگار که روی دکمه next کلیک شده)

خوب باید تو body داشته باشم

onload="نام دستور"

الان واسه انجام این کار چه راه کاری هست؟

0

به اشتراک گذاری این پست


لینک به پست

چیزی که شما مطرح کردید رو بهش می گن سلکتورهای jquery

برای onload در جی کوئری بجای نوشتن دستور لود در تگ بادی کد را به صورت زیر می نویسند


$(document).ready(function () {
کد اسکرول
});

3

به اشتراک گذاری این پست


لینک به پست

خوب من که کد اسکرول رو نمی دونم چیه؟ یعنی نمی تونم تو فایلای موجود پیداش کنم. من فقط می دونم با دادن کلاس next به یه آیتم دستور اسکرول به صمت راست انجام میشه!

0

به اشتراک گذاری این پست


لینک به پست

نشانی آنلاین؟

0

به اشتراک گذاری این پست


لینک به پست

نشانی آنلاین نداره. یه فایل html و یه سری css و js بوده که ضمیمه کردم.

مطمئنم کار پیچیده ای نیست فقط من بلد نیستم انجام بدم.

0

به اشتراک گذاری این پست


لینک به پست

شما در کدهای صفحخ index.html


<script type="text/javascript">
$("#slider").easySlider({
prevText:'',
nextText:'',
vertical:true
});
</script>

را به


<script type="text/javascript">
$("#slider").easySlider({
prevText:'',
nextText:'',
vertical:true,
auto: true
});
</script>

و در کدهای easySlider1.7.js


if(options.auto && dir=="next" && !clicked){;
timeout = setTimeout(function(){
animate("next",true);
},diff*options.speed+options.pause);
};

};

};
// init
var timeout;
if(options.auto){;
timeout = setTimeout(function(){
animate("next",true);
},options.pause);
};

را به


if(options.auto && dir=="next" && !clicked){
timeout = setTimeout(function(){
animate("next",true);
},diff*options.speed+options.pause);
};

};

};
// init
var timeout;
if(options.auto){
timeout = setTimeout(function(){
animate("next",true);
},options.pause);
};

تبدیل کن و تست بگیر

1

به اشتراک گذاری این پست


لینک به پست

متاسفانه انجام نشد. کدهای easySlider1.7.js رو هم که نوشتید هر دو مشابهن. البته من اون بخش رو پیدا و مقادیر false را در بخشهای مربوطه true کردم.

ببینید چیزی که من می خوام زیاد پیچیده نیست من فقط می خوام دستورهایی که بر مبنای کلاس انجام میشن رو بتونم در بخشهایی که امکان قرار دادن کلاس به شکل عادی رو نداره انجام بدم. (تو همین مثال کلاس next رو به هر آیتمی بدید عملیات اسکرول به گروه بعدی رو انجام میده)

حالا من اگه بخوام هر 10 ثانیه یکبار خودش به سمت راست اسکرول شه چه جوری باید این دستور رو بدم.

0

به اشتراک گذاری این پست


لینک به پست

نه کدها بجز false و true یک فرق دیگه هم دارند بعد از } علامت ; در کدهای اول هست که اجازه اجرای دستور را نمی ده و در دومی حذف شده


if(options.auto && dir=="next" && !clicked){;

و اینجا


if(options.auto){;

1

به اشتراک گذاری این پست


لینک به پست

هر ده ثانیه یک بار یعنی اتو اسکرول

فایل js که گفته شد را باز کنید


prevId: 'prevBtn',
prevText: 'Previous',
nextId: 'nextBtn',
nextText: 'Next',
controlsShow: true,
controlsBefore: '',
controlsAfter: '',
controlsFade: true,
firstId: 'firstBtn',
firstText: 'First',
firstShow: false,
lastId: 'lastBtn',
lastText: 'Last',
lastShow: false,
vertical: false,
speed: 800,
auto: false,
pause: 2000,
continuous: false,
numeric: false,
numericId: 'controls

اینها کدهای تنظیماتتون هستند برای اجرای next باید آی دی شی nextBtn باشه و ....

pause مقدار زمان ایسته که در حال حاضر دو ثانیه است و ده هزارش می شه ده ثانیه

speed سرعت اجراست و این هم بر حسب هزارم ثانیه است و مقدار auto هم باید برابر true باتشه این تنظیمات را شما می توانید از داخل فایل هم عین موارد مشابه در index.html انجام دهید

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

و تستش هم باید روی هاست انجام شه که مفسر php فعال باشه و بتونه کوکی بسازه و کوکی رو بخونه

2

به اشتراک گذاری این پست


لینک به پست

متاسفانه نشد. اگه ممکنه خودتون فایلهارو تغییر بدین و اگه جواب داد ضمیمه کنید. :wacko:

0

به اشتراک گذاری این پست


لینک به پست

من که عرض کردم ورژن کتابخانه جی کوئریش منسوخ شده است و باید در محل تست کنید اگر جواب نمی ده مشکل از جی کوئریست و کاریش نمی شه کرد مگر اسکرولی با کتابخانه های 1.7 تا 1.10 بیابید

1

به اشتراک گذاری این پست


لینک به پست

اما دکمه های next و previous هر دو جواب میده. هم رو سیستم و هم رو سرور. یعنی واقعن تابع یا فرمانی نیست که دستور کلیک رو یک شی رو (بر مبنای id) انجام بده؟؟؟!!!!

0

به اشتراک گذاری این پست


لینک به پست

اون دگمه ها با تایم اوت کار نمی کنند و دستور را مستقیم اجرا می کنند

یک تست هم بکنید پیوندی که به جی کوئری نسخه 1.3 دارید را از کدها حذف کنید و بجاش


<script src="http://code.jquery.com/jquery-latest.js"></script>

اضافه کنید شاید درست شد

یعنی چی که دستور کلیک روی یک شی را با فرمان آی دی انجام یده

من متوجه نمی شم

شما می خواهید یک عکس به جلو بروید یا می خواهید اتو ران بشود؟ یک عکس به جلو رفتن که کاری را پیش نمی برد برای اتو ران باید تابع تایم اوت فعال شود که راهش عرض شد

1

به اشتراک گذاری این پست


لینک به پست

من می خوام به محض باز شدن صفحه یه گروه (4 تا تصویر) به جلو بره. همین!

0

به اشتراک گذاری این پست


لینک به پست

کاری که عرض شد تنها راهه استفاده از این افزونه است در غیر اینصورتا باید کلا کد نویسی بشود

به سایت

http://www.htmldrive.net/categorys/show/2/Slideshow-Scroller

بروید و از صدها اسلایدر سالمش یکی را انتخاب کنید

2

به اشتراک گذاری این پست


لینک به پست

ممنون از تمام دوستانی که سعی در رفع مشکل داشتند. خودم پیدا کردم.

الگوریتمش رو می دونستم اما کدش رو نه، هر چی هم گفتم کسی متوجه نشد (به قول آقام میگه از بس مِن مِن می کنی) که بالاخره موفق شدم پیداش کنم.

ایجاد تایمر برای انجام متناوب دستور:

    window.onload = function () {
window.setInterval(goNext, 10000);
};

رخداد کلیک (خودکار) بر روی دکمه ی بعدی (Next)

    function goNext() {
document.getElementById("nextBtn").click();
}

پایان.

0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط masoudmosleh267
      سلام دوستان. من سایتم سرعتش خیلی پایینه. wp rocket رو نصب کردم خیلی بهتر شد اما بخش فشرده کردن css , js رو فعال کردم قالب رو به هم ریخت و مجبور شدم این بخش رو غیر فعال کنم. قالب رو اورجینال از تم فارست خریدم. الان مشکل چیه؟ چطوری میشه فایل هایی که gtmetrix بم میگه رو gzip کنم؟
      به پشتیبانی سایتمم گفتم ارور 504 رو زیاد میده گفت کدنویسی سایتت رو بهینه کن یا هاست ویژه یا اختصاصی بخر. مصرف منابع ات بالاست.

    • توسط BenTo
      سلام دیگر خدمت مدیران و دوستان محترم
      ببخشید میخواستم ببینم کتابی هست که توابع وردپرس رو جدا جدا با توضیح نوشته باشه
      چه توابع درون فانکشن و چه دستور عمل و کد های فراخوانی خود وردپرس مانند
      <?php bloginfo( 'name' ); ?>
      <?php get_search_form(); ?>
      <?php get_header(); ?> 
      و تابع های مانند اینها چه کتاب پولی باشه چه رایگان ممنون میشم از اساتید راهنمایی کنند برای خرید
      سپاس بیکران 
    • توسط koolfayfer
      سلام به همه
      من یه div دارم که پیشفرض به سمت راست میچرخه به مدت نامحدود
      وقتی روش هاور میشی به اندازه یک ثانیه معکوس به سمت چپ میچرخه یه بار!
      حالا اگه کسی بیشتر از یک ثانیه هاور بمونه انیمیشن چرخش اولیه به خاطر وجود انیمیشن هاور stop میشه و میخوام اگه در css ترفندی هست بعد از گذشت یک ثانیه هاور شدن آنهاور بشه یا هر چیز دیگه که باعث بشه انیمیشن پیشفرض کار کنه
      اگه css نبود کسی با جیکوئری میدونه؟
    • توسط amzzm75
      باسلام و احترام قالبی که من استفاده میکنم تعداد زیادی فایل css و javascript داره به طوری که تعداد درخواست ها به سرور منو زیاد کرده به طوری که وقتی با gtmetrix تست میکنم میزنه 150 درخواست به سرور و به فشرده نبودن و تعداد زیاد فایل ها ایراد میگیره من یه بار اومدم با سایتایی که این فایلا رو فشرده میکنن فشردشون کردم اما فونت و ظاهر بعضی قسمت های سایت بهم ریخت و مجبور شدم به حالت قبل برش گردونم موندم چیکار کنم که تعداد فایل ها کم بشه تا سرعت لود سایت بالاتر بره و سایت بهینه بشه لطفا راهنمایی کنین 
      آدرس سایت من:umagazine.ir
    • توسط chemist
      با سلام و عرض خسته نباشید؛
      بنده از این کد CSS در وب سایت استفاده کرده ام؛
      #left-menu i img { max-width:24px; max-height:24px; } در مرورگر کروم موبایل تصاویر در اندازه واقعی عکس ها نمایش داده می شود! (از ماکزیمم طول و عرض تعیین شده تبعیت نمی کند) ولی در مابقی مرورگرها با ابعاد تعیین شده نمایش داده می شود. آیا برای سازگاری کامل با تمامی مرورگرها باید تغییری در کد اعمال کنم؟
      ممنون میشم راهنمایی بفرمائید.
      با تشکر