ایده شات
مشکل در Event ها
#1
Exclamation 
سلام؛ خسته نباشید. من می خواستم یه کدی بسازم که 50 کلمه ی اول پست ها رو نشون بده ولی بقیه ش رو نشون نده و بجاش بنویسه: ادامه مطلب؛ و خوش بختانه موفق شدم. اما در بخش انتخاب event یه مشکلی دارم: من می خوام که کاربر بدون انجام کار خاصی (مث mouseover یا ...) فانکشن من انجام بشه. یعنی یه جورایی نمی خوام event خاصی داشته باشه:
<div event="shorter()">
یعنی مثلا در مثال بالا به جای event چی بزارم که با لود شدن صفحه فانکشن shorter انجام بشه؟
راستی من onload رو هم امتحان کردم اما نشد. ممنون میشم کمکم کنید.
تا حالا تایتانیک رو از نزدیک دیدی؟ (متاسفانه هاردم سوخت و هر چی تایتانیک و ... بود رو آب برد! برام دعا کنین درس شه :دی)
پاسخ
#2
سلام، میتونید تابع رو تو همون تگ <script> فراخوانی کنید.

کد:
<script>
    function shorter() {
        //code...
    }

    shorter();
</script>

البته اگه کد هاتون رو تو تگ <head> نوشته باشید، حدس میزنم error بده. برای همین آخر صفحه تون این کد رو بذارید.
اگر هم میخواید حتما داخل <head> باشه کدهاتون، از متد onload استفاده کنید.
http://www.w3schools.com/jsref/event_onload.asp

یا حق.
پاسخ
 سپاس شده توسط ar-blogger ، Mr.AliReza
#3
اون کاری که شما گفتید رو انجام دادم و خوشبختانه درست شد! فقط یه مشکل جدید: این کد فقط رو پست اول کار می کنه!
function shorter(){
var main,space="0",string=document.getElementById('text').innerHTML;
for(var num="0";num<string.length;num++){
if(string.slice(num,num+1)==" "){
space=parseInt(space)+parseInt(1);
if(space=="50")
main=num;
}
}
document.getElementById('text').innerHTML=document.getElementById('text').innerHTML.slice(0,main)+' ... <a href="#">ادامه ی مطلب</a>';
}
راستی آی دی اون باکسی که متن توشه text هست
تا حالا تایتانیک رو از نزدیک دیدی؟ (متاسفانه هاردم سوخت و هر چی تایتانیک و ... بود رو آب برد! برام دعا کنین درس شه :دی)
پاسخ
#4
ببینید شما نباید از id برای انتخاب یک دسته از element ها استفاده کنید، بلکه باید از class استفاده کنید. (id مختص یک element هست)
من کد شما رو خیلی بررسی نکردم و خودم یک مورد نوشتم براتون، نمیدونم کار می کنه یا نه، اما میتونید ازش الگو بردارید:

کد:
<script>
    function shorter(){
        var elements = document.getElementsByClassName("test");

        for (var i = 0; i < elements.length; i++)
        {
            var str   = elements[i].innerHTML;
            var words = str.split(" ");
            words     = words.slice(0, 50);
            words     = words.join();

            var res   = words.replace(",", " ");
            res       = res + '... <a href="#">ادامه ی مطلب</a>';

            elements[i].innerHTML = res;
        };
    }
    
    shorter();
</script>


اگه مشکل حل نشد، آدرس سایتتون رو برام پ.خ کنید.
پاسخ
 سپاس شده توسط Mr.AliReza
#5
(94-5-15، 03:17 عصر)mhe نوشته است: ببینید شما نباید از id برای انتخاب یک دسته از element ها استفاده کنید، بلکه باید از class استفاده کنید. (id مختص یک element هست)
من کد شما رو خیلی بررسی نکردم و خودم یک مورد نوشتم براتون، نمیدونم کار می کنه یا نه، اما میتونید ازش الگو بردارید:

کد:
<script>
    function shorter(){
        var elements = document.getElementsByClassName("test");

        for (var i = 0; i < elements.length; i++)
        {
            var str   = elements[i].innerHTML;
            var words = str.split(" ");
            words     = words.slice(0, 50);
            words     = words.join();

            var res   = words.replace(",", " ");
            res       = res + '... <a href="#">ادامه ی مطلب</a>';

            elements[i].innerHTML = res;
        };
    }
    
    shorter();
</script>


اگه مشکل حل نشد، آدرس سایتتون رو برام پ.خ کنید.

راستش نه! متاسفانه درست نشد. ولی لینک دانلود رو به شما پ خ میکنم. اگر بتونید کمک کنید ممنون میشم.
تا حالا تایتانیک رو از نزدیک دیدی؟ (متاسفانه هاردم سوخت و هر چی تایتانیک و ... بود رو آب برد! برام دعا کنین درس شه :دی)
پاسخ
#6
سلام مهندس خسته نباشید بنده یک سوال دارم
سوال من اینه من میخام یک سایت دو صفحه ای درست کنم که بر روی صفحه index یک کادر متن و یک دکمه قرار بدم و بر روی صفحه دوم یک label حالا میخام یک فایل جاوا اسکریپت خارجی بسازم و توی اون یک متغیر تعریف کنم که مقدارش رو از کادر متن دریافت کنه یعنی اینکه مقدار درون کادر متن رو داخل متغیر فایل خارجی جاوا اسکریپت ذخیره کنه و بعد در صفحه دوم بتونم مقدار درون متغیر رو در کنترل label نمایش بدم
ممنون میشم اگه راهنمایی بفرمایید
پاسخ


پرش به انجمن:


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