|
|
|
| Я разбираю пример с выводом двухуровневых списков. В нем есть узлы отмеченные символами - треугольниками. Как можно эти символы заменить на свои картинки?
вот в этом месте треугольники выводятся
<p>
<a href="#" class="sc" onclick="return UnHide(this)">►</a>
<a href="#">Adobe CS2</a>
</p>
|
Функция javascript - function UnHide обрабатывает смену символа.
Вот код моего примера.
<style type="text/css">
.treeview { padding: 0; clear: both; font-family: Arial, sans-serif; width: 100%; }
.treeview * { font-size: 100.1%; }
.treeview ul
{
overflow: hidden; width: 100%; margin: 0; padding: 0 0 1.5em 0;
list-style-type: none;
}
.treeview ul ul { overflow: visible; width: auto; margin: 0 0 0 0; padding: 0 0 0 0.75em; }
/* класс для ul после которых нет li в родительских ветках */
.treeview ul.l { border-left: 1px solid; margin-left: -1px; }
.treeview li.cl ul { display: none; }
.treeview li { margin: 0; padding: 0; }
.treeview li li { margin: 0 0 0 0.5em; border-left: 1px dotted; padding: 0; }
.treeview li div { position: relative; height: 1.5em; min-height: 16px; //height: 1.3em; }
.treeview li li div { border-bottom: 1px dotted; }
.treeview li p
{
position: absolute; z-index: 1; top: 0.8em; //top: 0.65em; left: 1.75em;
width: 100%; margin: 0; border-bottom: 1px dashed; padding: 0;
}
.treeview a { padding: 0.1em 0.2em; white-space: nowrap; //height: 1px; }
.treeview img.i
{
border-right: 2px solid; border-bottom: 0.5em solid;
margin-bottom: -0.5em; vertical-align: middle;
}
.treeview a.sc
{
position: absolute; top: 0.06em;
margin-left: -1em; padding: 0; text-decoration: none;
}
/* colors */
.treeview li p,
.treeview img.i,
.treeview .sc
{ background: #ffffff; }
.treeview ul.l,
.treeview li p,
.treeview img.i
{ border-color: #ffffff; }
.treeview ul li li,
.treeview ul li li div
{ border-color: #999999; }
.treeview a,
.treeview a.sc,
.treeview a.sc:hover
{ color: #000000; }
.treeview a:hover
{ color: #cc0000; }
</style>
<script type="text/javascript">
function UnHide( eThis ){
if( eThis.innerHTML.charCodeAt(0) == 9658 ){
eThis.innerHTML = '▼'
eThis.parentNode.parentNode.parentNode.className = '';
}else{
eThis.innerHTML = '►'
eThis.parentNode.parentNode.parentNode.className = 'cl';
}
return false;
}
</script>
<script type="text/javascript">
function clickText()
{
obj_div=document.getElementById("info_text");
if (obj_div.style.display=="block")
obj_div.style.display="none";
else
obj_div.style.display="block";
}
</script>
<div class="treeview">
<ul>
<li class="cl">
<div>
<p>
<a href="#" class="sc" onclick="return UnHide(this)">►</a>
<a href="#">Adobe CS2</a>
</p>
</div>
<ul>
<li>
<div>
<p>
<a href="#"><img src="primery_img/i-photoshop.gif" class="i" />Photoshop</a>
</p>
</div>
</li>
<li>
<div>
<p>
<a href="#"><img src="primery_img/i-illustrator.gif" class="i" />Illustrator</a>
</p>
</div>
</li>
<li>
<div>
<p>
<a href="#"><img src="primery_img/i-indesign.gif" class="i" />InDesign</a>
</p>
</div>
</li>
</ul>
</li>
<li class="cl">
<div>
<p>
<a href="#" class="sc" onclick="return UnHide(this)">►</a>
<a href="#">Microsoft Office</a>
</p>
</div>
<ul>
<li>
<div>
<p>
<a href="#"><img src="primery_img/i-word.gif" class="i" />Word</a>
</p>
</div>
</li>
<li>
<div>
<p>
<a href="#"><img src="primery_img/i-excel.gif" class="i" />Excel</a>
</p>
</div>
</li>
</ul>
</li>
<li>
<div>
<p>
<a href="#"><img src="primery_img/i-explorer.gif" class="i" />Internet Explorer</a>
</p>
</div>
</li>
<li>
<div>
<p>
<a href="#"><img src="primery_img/i-firefox.gif" class="i" />Mozilla Firefox</a>
</p>
</div>
</li>
<li>
<div>
<p>
<a href="#"><img src="primery_img/i-opera.gif" class="i" />Opera</a>
</p>
</div>
</li>
</ul>
</div>
|
| |
|
|
|
|
|
|
|
для: Alex Boxgorn
(29.05.2010 в 16:34)
| | eThis.innerHTML = '▼' --> eThis.innerHTML = '<img src="...">'
eThis.innerHTML = '►' --> eThis.innerHTML = '<img src="...">' | |
|
|
|
|
|
|
|
для: AlexSol
(29.05.2010 в 17:14)
| | А условие тогда какое должно быть, чтобы событие сработало туда и обратно? Я извиняюсь, пока плохо с джавой дружу. Вот на примерах учусь.
if( eThis.innerHTML.charCodeAt(0) == 9658 ){
|
| |
|
|
|