سافت سرا

اجرای تابع بر مبنای 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

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط Rasoul
      سلام
      من میخواستم وقتی صفحه اسکرول میشه و هدر همراهش میاد پایین به هدر یه لگو مثلا اضافه بشه میدونم باید با جاوااسکریپ انجام بشه ولی من این زبان را تا این حد بلد نیستم ممنون میشم راهنماییم کنید.
      الان تو این دمو میخوام وقتی اسکرول میشه کنار My Header یک لوگو اضافه بشه و وقتی دوباره میبری بالا حذف بشه.
       
      دمو
    • توسط acc
      سلام دوستان
      بنده علاقمند هستم که فونت و استایل یک ویجت خارجی که مربوط به چت انلاین هست رو تغییر بدم , ایا این به وسیله جاوا امکان پذیر است؟
      اگر از دوستان کسی در این زمینه مهارت دارد لطفا من را راهنمایی کند
       
      با تشکر
    • توسط madidi
      سلام من همیشه واسه وردپرس که قالب مینویسم یه  مشکل دارم 
      توی تصویر زیر کامل توضیح دادم 
      چطوری تو یه دیو بزرگ دو تا دیو تعریف کنیم یکی متن و یکی عکس و وقتی دیو عکس تموم شده متن ها بقیه جاهای دیو بزرگ تر پر کنند ؟؟؟
      ممنون 

    • توسط madidi
      سلام 
      چطور میشه شرط برای یه المان تعریف کرد ؟
      مثلا اگر در یک قسمت [500px*500px] با فونت 15px بصورت کامل متن پر شد بجا اینکه ارتفاع اون دیو زیاد بشه یا اسکرول بخوره یا ... سایز متن از 15 به 12 بصورت خودکار تغییر کنه تا اون دیو همون جوری بدون تغییر بمونه ؟
    • توسط Monica
      سلام
      من با این دو روش استایل reset.css رو به پوسته معرفی میکنم ،
      میخوام برای کش نشدن ver=2.0 به انتهای css اضافه بشه میخوام این استایل پایین تر از rtl.css قرار بگیره  در حال حاضر کدهای زیر رو امتحان کردم و جواب نگرفتم !!!
      //روش اول add_action( 'wp_enqueue_scripts', 'custom_styles' ); function custom_styles() { wp_register_style( 'reset', get_template_directory_uri().'/my/reset.css', array(), '2.0', 'all' ); wp_enqueue_style( 'reset' ); } //روش دوم add_action( 'wp_enqueue_scripts', 'custom_styles' ); function custom_styles() { wp_enqueue_style( 'reset', get_template_directory_uri().'/my/reset.css',false,'2.0','all' ); }