לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #2  
ישן 26-12-2006, 21:32
  DCD DCD אינו מחובר  
 
חבר מתאריך: 17.05.05
הודעות: 7,321
הנה הקוד שבניתי:
בתגובה להודעה מספר 1 שנכתבה על ידי bearcub שמתחילה ב "איך עושים קישור לדף על כל התא בטבלה"

קוד:
<html dir='rtl'> <head> <title>לינק במעבר על תא בטבלה</title> <script type='text/javascript'> function OpenMe() { var x=document.getElementsByTagName('td'); var i=0; var links = new Array(); links[0] = "http://www.google.co.il"; links[1] = "http://www.google.co.il"; while (i <= x.length) { if (x[i].id.match(/CellOpen_\d/)) { var obj = document.getElementById('CellOpen_'+i); var DataCache = new Array(); DataCache[0]=obj.style.backgroundColor; DataCache[1]=obj.style.color; DataCache[2]=obj.style.cursor; obj.onmouseover = function() { obj.style.backgroundColor = "green"; obj.style.color = "white"; obj.style.cursor = "pointer"; } obj.onmouseout = function() { obj.style.backgroundColor = DataCache[0]; obj.style.color = DataCache[1]; obj.style.cursor = DataCache[2]; } obj.onclick = function() { document.location = links[i]; } } ++i; } } </script> </head> <body> <table border="1" cellpadding="6" style='margin:auto;width:60%;'> <tr><td id='CellOpen_0'>תא מספר 1</td><td>תא מספר 2</td><td>תא מספר 3</td></tr> <tr><td>תא מספר 4</td><td>תא מספר 5</td><td>תא מספר 6</td></tr> <tr><td>תא מספר 7</td><td>תא מספר 8</td><td>תא מספר 9</td></tr> </table> <script type='text/javascript'> OpenMe(); </script> </body> </html>


אבל יש בעיה...כששמים לעוד תא לינק, זה עושה בעיה (לא הבנתי איך אני אמור לפתור את זה), וגם הלינק זה לא נכנס אליו כי משום מה זה לא קולט את המשתנה של הלינקים (גם לא הבנתי למה)

אחח .... JS שונה מPHP לפעמים בצורה משמעותית שזה מעצבן

מי שיוכל לפתור את הבעיות הנ"ל ולהביא לכאן את הקוד התקין, גם אני אודה לו...
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #3  
ישן 27-12-2006, 06:38
  משתמש זכר Silver Strike Silver Strike אינו מחובר  
 
חבר מתאריך: 10.09.04
הודעות: 1,032
שלח הודעה דרך ICQ אל Silver Strike שלח הודעה דרך MSN אל Silver Strike
אם הבנתי אותך נכון...
בתגובה להודעה מספר 2 שנכתבה על ידי DCD שמתחילה ב "הנה הקוד שבניתי:"

קוד PHP:
 /*
    this script uses class's instead of styles declaration.
    oGetTable = the table object that the script applies to.
    cGetCells = the cells of the oGetTable (td/th).
    the link is specified in the 'id' attribute of the cell tag.
*/

function tableHover(){
    var 
oGetTable document.getElementById("table_name");
    var 
cGetCells oGetTable.cells;
    for(var 
i=0i<cGetCells.lengthi++){
        
cGetCells[i].onmouseover = function(){
            
this.className "highlight";
        };
        
cGetCells[i].onmouseover = function(){
            
this.className "base";
        };
        
cGetCells[i].onclick = function(){
            if(
this.getAttribute("id").test("http://")) location.href this.getAttribute("id");
        };
    }



לא נבדק...
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #10  
ישן 27-12-2006, 22:20
  DCD DCD אינו מחובר  
 
חבר מתאריך: 17.05.05
הודעות: 7,321
בתגובה להודעה מספר 9 שנכתבה על ידי Silver Strike שמתחילה ב "עכשיו זה עובד..."

ציטוט:
במקור נכתב על ידי Silver Strike

באמת עובד

ציטוט:
במקור נכתב על ידי Silver Strike
דבר ראשון, אני ממליץ לך להחליף את הגדרות ה-style ב-class.

החלפתי, באמת המלצה טובה. חיפשתי דרך אחרת לכתוב מה שכתבתי אבל לא הצלחתי למצוא וגם לא ידעתי את האפשרות של שינוי Class.
ציטוט:
במקור נכתב על ידי Silver Strike
שנית, כל המשחק שעשית שם עם מערכים הוא מיותר ולא יעיל.
הסיבה שאתה יכול להשתמש רק בקישור אחד היא גגלל שכשאתה מריץ את הפונקציה, אתה מריץ אותה לאחר שעברת כבר על כל התאים. מה שמשאיר אותך בתא האחרון.

אני יודע שהוא מיותר אבל לא מצאתי דרך אחרת...
ודווקא עשיתי הודעת alert עם ה-ID של תאים אחרים כשהלולאה רצה, וה-alert הציג אותם.
זאת אומרת שזה רץ על כל התאים ולאו דווקא על התא האחרון. אבל בכל מקרה השתמשתי בלולאת for בזכות נוחותה ויעילותה (במהירות).

ציטוט:
במקור נכתב על ידי Silver Strike
אתה יכול להוציא את התוכן של onclick לפונקציה חיצונית ולקרוא לה ב-obj.onclick.

מצאתי דרך נוספת שהיא טובה גם כן, שמתי abbr ל-td.

זה הקוד החדש שכתבתי:

https://2006-uploaded.fresh.co.il/2...7/97320430.html

אבל משום מה זה גם לא עובד. ה-class בכלל לא מצליח לי והלחיצה על ה-td מצליח, אבל זה לא שולח את המשתמש למקום הנכון (זה שולח אותו למקום האחרון שעברו עליו בלולאה).

אני עדיין לא מבין מה לא טוב :|

[עריכה] דבר נוסף, כשאתה כותב this בתוך function, למה ה-this שווה? לדוגמא בקוד הבא:
קוד:
cGetCells[i].onmouseover = function(){ this.className = "base"; };


ה-this שווה ל- cGetCells[i] ?

נערך לאחרונה ע"י DCD בתאריך 27-12-2006 בשעה 22:28.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #12  
ישן 28-12-2006, 13:31
  DCD DCD אינו מחובר  
 
חבר מתאריך: 17.05.05
הודעות: 7,321
בתגובה להודעה מספר 11 שנכתבה על ידי Silver Strike שמתחילה ב "abbr לא עובד ב-IE...."

לפי הכתוב כאן:
http://www.w3schools.com/tags/tag_td.asp
abbr כן נתמך בשלושת סוגי ה-DTD:
Strict,Transitional, ו-Frameset
וגם זה הצליח לקלוט את הערך בעזרת JS...יש רק בעיה מוזרה שבלחיצה על אלמנט td מסויים זה מעביר את המשתמש לתוכן ה-abbr האחרון שעברו עליו.

אני גם לא מבין איך אני יכול להתייחס לאלמנט מסויים כשמשתמשים בפונקציה getElementsByTagName.
אני ניסיתי לכתוב בקובץ הנ"ל גם:
קוד:
x[i].className = 'NormalTD';


ודברים דומים, אבל זה כותב לי את השגיאה:
ציטוט:
'x[...]' is null or not an object

עריכה:

וואלה הצליח לי (סוף סוף..).
עכשיו רק נשאר לי להבין:
1) למה הקוד הקודם לא עבד כראוי? [כשעבדתי עם obj במקום x[i].getAttribute('').]
2) ולמה ה-className עדיין לא עובד? :|

זה הקוד החדש:
https://2006-uploaded.fresh.co.il/2...8/56653053.html
(אני יודע שזה דומה)

תודה

נערך לאחרונה ע"י DCD בתאריך 28-12-2006 בשעה 13:53.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 12:00

הדף נוצר ב 0.06 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר