Log in

View Full Version : change backgroundimage for div element



hqdat
08-13-2007, 12:32 PM
help !!
<script language="javascript">
function selectbackground(divid,x) {
var obj;
if (document.all){
obj = document.all.divid.style.backgroundImage;}
else
{obj = document.getElementById(divid).style.backgroundImage;}
switch(x) {
case 'Hotel':
obj = "url('../images/banner_hotel.gif') no-repeat";
break;
case 'Tour':
obj = "url('../images/banner_tour.gif') no-repeat";
break;
case 'Transport':
obj = "url('../imags/banner_transport.gif') no-repeat";
break;
case 'Planeticket':
obj = "url('../images/banner_planeticket.gif') no-repeat";
break;
case 'Culture':
obj = "url('../images/?.gif') no-repeat";
break;
}
}
</script>
<div id="wrapper">
<ul id="mainmenu" class="menu">
<li class="selected"><a href="Hotel" rel="contentmain" onclick="selectbackground('wrapper','Hotel')">Khách sạn</a></li>
<li><a href="Tour" rel="contentmain" onclick="selectbackground('wrapper','Tour')">Tours</a></li>
<li><a href="Transport" rel="contentmain" onclick="selectbackground('wrapper','Transport')">Xe du lịch</a></li>
<li><a href="Planeticket" rel="contentmain" onclick="selectbackground('wrapper','Planeticket')">Vé máy bay</a></li>
<li><a href="Culture" rel="contentmain" onclick="selectbackground('wrapper','Culture')">Ẩm thực</a></li>
</ul>
</div>

tech_support
08-14-2007, 09:17 AM
background not backgroundImage;

bash123
12-15-2007, 04:16 PM
Try this:

<script language="javascript">
function selectbackground(divid,x) {
var obj;
if (document.all){
obj = document.all.divid;}
else
{obj = document.getElementById(divid);}
switch(x) {
case 'Hotel':
obj.style.backgroundImage = "url('/images/buttons/plus.gif'); no-repeat";
break;
case 'Tour':
obj.style.backgroundImage = "url('/images/buttons/mins.gif'); no-repeat";
break;
case 'Transport':
obj.style.backgroundImage = "url('../imags/banner_transport.gif'); no-repeat";
break;
case 'Planeticket':
obj.style.backgroundImage = "url('../images/banner_planeticket.gif'); no-repeat";
break;
case 'Culture':
obj.style.backgroundImage = "url('../images/?.gif'); no-repeat";
break;
}
}
</script>
<div id="wrapper">
<ul id="mainmenu" class="menu">
<li class="selected"><a href="javascript://" rel="contentmain" onclick="selectbackground('wrapper','Hotel')">Khách sạn</a></li>
<li><a href="javascript://" rel="contentmain" onclick="selectbackground('wrapper','Tour')">Tours</a></li>
<li><a href="javascript://" rel="contentmain" onclick="selectbackground('wrapper','Transport')">Xe du lịch</a></li>
<li><a href="javascript://" rel="contentmain" onclick="selectbackground('wrapper','Planeticket')">Vé máy bay</a></li>
<li><a href="javascript://" rel="contentmain" onclick="selectbackground('wrapper','Culture')">Ẩm thực</a></li>
</ul>
</div>

jscheuer1
12-15-2007, 05:26 PM
Whatever else may or may not be wrong, tech_support is right. There is no 'no-repeat' value for the backgroundImage property. If you want to set both the image and the repeat at the same time, you must set the background property, or set the backgroundImage property separately, and on another line set the backgroundRepeat property.