Εμφάνιση link σε σχόλια εικόνας

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
zeppos
Δημοσιεύσεις: 431
Εγγραφή: 26 Μαρ 2006 10:43
Τοποθεσία: Kyklades
Επικοινωνία:

Εμφάνιση link σε σχόλια εικόνας

Δημοσίευση από zeppos » 21 Φεβ 2008 14:21

Μια βοήθεια παρακαλώ από τους γκουρού της Javascript!!
Έστω ότι έχουμε τον παρακάτω κώδικα:
<script type="text/javascript" language="javascript">
function showPic (whichpic) {
if (document.getElementById) {
document.getElementById('placeholder').src = whichpic.href;
if (whichpic.title) {
document.getElementById('desc').childNodes[0].nodeValue = whichpic.title;
} else {
document.getElementById('desc').childNodes[0].nodeValue = whichpic.childNodes[0].nodeValue;
}
return false;
} else {
return true;
}
}
</script>
Η gallery που δημιουργείται εμφανίζει με το onclick και τα σχόλια που είναι γραμμένα στο title της εικόνας, στο "desc".
<a onclick="return showPic(this)" href="some.jpg" title=" mpla-pla- " width="237" height="243" border="1"><img src="small_some.jpg" alt="" width="74" height="76" border="1"></a>

<p id="desc">Click on small images</p>
<img id="placeholder" src="blank.gif" />
Τα σχόλια όμως είναι πάντα text, ακόμη και ένα link (<a href='somepage.html'>Some</a>) το γράφει όλο, όχι σαν λινκ...
Πως θα μπορούσε να γίνει αυτό με τον ίδιο κώδικα όμως; Ίσως με μια προσθήκη;
Ευχαριστώ!

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Εμφάνιση link σε σχόλια εικόνας

Δημοσίευση από skeftomilos » 21 Φεβ 2008 20:20

Νομίζω αρκεί να αντικαταστήσεις το .childNodes[0].nodeValue με .innerHTML

zeppos
Δημοσιεύσεις: 431
Εγγραφή: 26 Μαρ 2006 10:43
Τοποθεσία: Kyklades
Επικοινωνία:

Εμφάνιση link σε σχόλια εικόνας

Δημοσίευση από zeppos » 22 Φεβ 2008 00:09

Ευχαριστώ για την απάντηση skeftomilos.
Επειδή όλο το απόγευυμα έψαχνα να βρώ κάτι που θα με βοηθούσε να αποφύγω να αλλάξω σε όλη τη σελίδα τον κώδικα, ζήτησα κάτι σαν προσθήκη στον ίδιο.. Βλέπεις ήταν μια σελίδα με 32 μικρές εικόνες που όταν τις άνοιγες με onclick έπρεπε να λέει και μια μικρή ιστορία και πότε-πότε ένα λινκ..
Δεν βρήκα κάτι γιατί είμαι και πολύ άσχετος με την javascript.. Βρήκα όμως ένα νέο κώδικα το ίδιο λιτό και προσπάθησα να το βάλω να δουλέψει στην ίδια σελίδα μόνο γιοα τις εικόνες που είχαν λινκ.. Τα κατάφερα μετά από κόπο.. να δείχνουν τις μεγάλες εικόνες και τα σχόλια στο ίδιο κομάτι και οι δύο κώδικες .. όμως δυστυχώς όταν μια εικόνα είχε λινκ και μετά ακολουθούσε εικόνα με τον πρώτο τρόπο τα σχόλια άλλαζαν σωστά αλλά όλως περιέργως το λινκ παρέμενε!!
Έτσι αναγκάστηκα να αλλάξω όλη τη σελίδα. Ίσως είναι καλύτερα μια και στον ΙΕ κάνει και ένα κολπάκι faid..
Ξέχασα να σου πω ότι πράγματι για τα τεχτ χρησιμοποιεί την innerHTML=captionText
Για όποιον ενδιαφέρεται είναι μικρός και εύκολος.
Η Javascript:
<script language="JavaScript">
function LoadGallery(pictureName,imageFile,titleCaption,captionText)
{
if (document.all)
{
document.getElementById(pictureName).style.filter="blendTrans(duration=1)";
document.getElementById(pictureName).filters.blendTrans.Apply();
}
document.getElementById(pictureName).src = imageFile;
if (document.all)
{
document.getElementById(pictureName).filters.blendTrans.Play();
}
document.getElementById(titleCaption).innerHTML=captionText;
}
</script>
Και το html:
<a href="#_self" onclick="LoadGallery('placeholder', 'big.jpg','desc','Comments<a href=\'some.html\'>SOME</a>')"><img src="small.jpg" alt="small" width="74" height="76" border="1"></a>&nbsp;
Και εδώ η χωροθέτηση στη σελίδα:
<p id="desc">Click the small images</p> //Για τα σχόλια
<img id="placeholder" src="blank.gif" alt="Click here" /><p> // Για τις μεγάλες εικόνες

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης