Страниц (2): [1] 2 » |
|
Описание: типа меню или поп-ат |
Поиск в теме | Версия для печати |
Дмитрий Б. |
Отправлено: 08 Апреля, 2006 - 01:01:08
|
Super Member
Покинул форум
Сообщений всего: 800
Дата рег-ции: Март 2005
Откуда: Иркутск
Карма 0
|
Мила
На JS я бы это реализовывать не советовал, ибо тормозуха будет офигенная! Ну не рассчитан JS на анимацию, как бы там не говорили... Сейчас в меня, конечно, полетят тухлые помидоры, мол, а как же работают всякие там летающие за курсором даты и т. п. Отвечаю: так ведь там таблицы никакой нет! Я как-то пытался менюшку динамическую сделать на таблицах, потом бросил...
З. Ы. А вообще, если сильно надо - могу и скрипт накидать, дел минут на 10... |
|
|
Мила |
Отправлено: 08 Апреля, 2006 - 01:50:48
|
Newbie
Покинул форум
Сообщений всего: 15
Дата рег-ции: Окт. 2005
Карма 0
|
Хотелось бы доделать (или переделать) скрипты.
Первый скрипт две кнопки и тексты, но тексты без 'выпадания':
CODE:
<body>
<script>
function setObjText(id, text)
{
setInner(document.getElementById(id), text);
}
function setInner(obj, text)
{
obj.innerHTML = text;
}
</script>
<table width="332">
<tr>
<td width="59"><a href="#" onmouseover="setObjText('tip', '<p align=center><b>текст первый</b></p>' )" onmouseout="setObjText('tip','')">Button1</button></td>
<td id="tip" width="200"> </td>
<td><button onmouseover="setObjText('tip', '<p align=center><b>Второй текст</b></p>')" onmouseout="setObjText('tip','')">
<p align="left">Button2</button></td>
</tr>
</table>
</body>
Второй скрипт, очень нравиться, но кнопка всего одна и подсказка из-под неё выпадает (а это не то, что надо).
CODE:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Разворачивающиеся свитки</TITLE>
<META http-equiv=Content-Type content="text/html; charset=windows-1251">
<STYLE>
BODY {
BACKGROUND-COLOR: #ffffff
}
A {
COLOR: red; TEXT-DECORATION: none
}
A:hover {
COLOR: red
}
A:visited:unknown {
COLOR: #808080
}
TD {
FONT-SIZE: 10pt; FONT-FAMILY: arial,helvetica
}
DIV.clTopMenu {
Z-INDEX: 31; VISIBILITY: hidden; WIDTH: 101px; CLIP: rect(0px 101px 14px 0px); POSITION: absolute; HEIGHT: 150px; BACKGROUND-COLOR: #eeeeee; layer-background-color: #EEEEEE
}
DIV.clTopMenuBottom {
Z-INDEX: 2; WIDTH: 101px; CLIP: rect(0px 101px 3px 0px); POSITION: absolute; TOP: 11px; HEIGHT: 3px; BACKGROUND-COLOR: #cecfce; layer-background-color: #CECFCE
}
DIV.clTopMenuText {
FONT-SIZE: 11px; Z-INDEX: 1; LEFT: 5px; WIDTH: 91px; FONT-FAMILY: arial,helvetica; POSITION: absolute; TOP: 15px; BACKGROUND-COLOR: #eeeeee
}
</STYLE>
<script>
ie=document.all?1:0
n=document.layers?1:0
var numberOfMenus=2
var mwidth=100
var pxBetween=10
var fromLeft=20
var fromTop=10
//The bgColor цвет линии снизу
var bgColor='#000077'
var bgColorChangeTo='#440000'
var imageHeight=10
function makeNewsMenu(obj,nest){
nest=(!nest) ? '':'document.'+nest+'.'
this.css=(n) ? eval(nest+'document.'+obj):eval('document.all.'+obj+'.style')
this.scrollHeight=n?this.css.document.height:eval('document.all.'+obj+'.offsetHeight')
this.moveIt=b_moveIt;this.bgChange=b_bgChange;
this.slideUp=b_slideUp; this.slideDown=b_slideDown;
this.clipTo=b_clipTo;
this.obj = obj + "Object"; eval(this.obj + "=this")
}
//Objects methods
function b_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x; this.css.top=this.y}
function b_bgChange(color){if(ie) this.css.backgroundColor=color; else this.css.bgColor=color}
function b_clipTo(t,r,b,l){
if(n){this.css.clip.top=t; this.css.clip.right=r; this.css.clip.bottom=b; this.css.clip.left=l
}else this.css.clip="rect("+t+","+r+","+b+","+l+")";
}
function b_slideUp(ystop,moveby,speed,fn,wh){
if(!this.slideactive){
if(this.y>ystop){
this.moveIt(this.x,this.y-5); eval(wh)
setTimeout(this.obj+".slideUp("+ystop+","+moveby+","+speed+",'"+fn+"','"+wh+"')",speed)
}else{
this.slideactive=false; this.moveIt(0,ystop); eval(fn)
}
}
}
function b_slideDown(ystop,moveby,speed,fn,wh){
if(!this.slideactive){
if(this.y<ystop){
this.moveIt(this.x,this.y+5); eval(wh)
setTimeout(this.obj+".slideDown("+ystop+","+moveby+","+speed+",'"+fn+"','"+wh+"')",speed)
}else{
this.slideactive=false; this.moveIt(0,ystop); eval(fn)
}
}
}
//Initiating the page, making cross-browser objects
function newsMenuInit(){
oTopMenu=new Array()
for(i=0;i<=numberOfMenus;i++){
oTopMenu[i]=new Array()
oTopMenu[i][0]=new makeNewsMenu('divTopMenu'+i)
oTopMenu[i][1]=new makeNewsMenu('divTopMenuBottom'+i,'divTopMenu'+i)
oTopMenu[i][2]=new makeNewsMenu('divTopMenuText'+i,'divTopMenu'+i)
oTopMenu[i][1].moveIt(0,imageHeight)
oTopMenu[i][0].clipTo(0,mwidth,imageHeight+3,0)
oTopMenu[i][0].moveIt(i*mwidth+fromLeft+(i*pxBetween),fromTop)
oTopMenu[i][0].css.visibility="visible"
}
}
//Moves the menu
function topMenu(num){
if(oTopMenu[num][1].y==imageHeight) oTopMenu[num][1].slideDown(oTopMenu[num][2].scrollHeight + 20,10,40,'oTopMenu[' + num + '][0].clipTo(0,mwidth,oTopMenu[' + num + '][1].y + 3,0)','oTopMenu[' + num + '][0].clipTo(0,mwidth,oTopMenu[' + num + '][1].y + 3,0)')
else if(oTopMenu[num][1].y == oTopMenu[num][2].scrollHeight + 20) oTopMenu[num][1].slideUp(imageHeight,10,40,'oTopMenu[' + num + '][0].clipTo(0,mwidth,oTopMenu[' + num + '][1].y + 3,0)','oTopMenu[' + num + '][0].clipTo(0,mwidth,oTopMenu[' + num + '][1].y + 3,0)')
}
//Changes background onmouseover
function menuOver(num){oTopMenu[num][1].bgChange(bgColorChangeTo)}
function menuOut(num){oTopMenu[num][1].bgChange(bgColor)}
//Calls the init function onload
onload=newsMenuInit;
</SCRIPT>
<META content="Microsoft FrontPage 6.0" name=GENERATOR></HEAD>
<BODY>
<table width="100%"><tr><td align="center">
</td>
<td>
<DIV class=clTopMenu id=divTopMenu0 style="position: absolute; left: 382px; top: 17px"><A onmouseover="topMenu(0); if(ie)this.blur(); return false" onmouseout=menuOut(0)
href="http://111.htm#" >
<IMG height=12 alt="" src="01.gif" width=103 align=top
border=0></A>
<DIV class=clTopMenuText id=divTopMenuText0>А вот и мы Ля Ля.<BR><BR>Приходите дети в африку гулять </DIV>
<DIV class=clTopMenuBottom id=divTopMenuBottom0></DIV></DIV>
</td></tr>
</table>
</BODY>
</HTML>
Или же первый скрипт доделать, а если "нет", то второй скрипт переделать под задуманное.
И чё-то во втором скрипте ошибка выскакивает на 61 строке (не понимаю я в этом).
Посмотрите, пожалуйста! |
|
|
|
Поиск в теме | Версия для печати |
Страниц (2): [1] 2 » |
Сейчас эту тему просматривают: 2 (гостей: 2, зарегистрированных: 0, скрытых: 0) |
« JavaScript » |
Все гости форума могут просматривать этот раздел. Только администраторы и модераторы могут создавать новые темы в этом разделе. Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
|
|
|