питання:
Чи можна, щоб gif-ка в IE завантажувалася, а в NN немає. Якщо можна, то як це зробити.
-------------------------------------------------- ---------------------------------
відповідь:
Ну її можна просто не включати в сторінку якщо броузер - Netscape:
<Script> browser_name = navigator.appName; browser_version = parseFloat (navigator.appVersion); if (browser_name == "Netscape") {roll = 'true';} if (roll == 'false') { document.write ( "<img src = 'xxx.gif'>"); } </ Script>
Відповідь надіслав Valery Papushin
Поставте на засланні на gif-ку зворотний слеш, IE завантажить, а NN залишить пусте місце.
Відповідь надіслав DoctorGenius service
Та це можливо. На сторінці сайту треба поставити скрипт, який в залежності від браузера буде завантажувати певну html сторінку.
1.htm для Explorer
2.htm для Netscape
3.htm для інших браузерів.
<Script language = "JavaScript"> <! - if (navigator.appName == "Netscape") window.location.href = "1.htm"; else if (navigator.appName == "Microsoft Internet Explorer") window.location.href = "2.htm"; else window.location.href = "3.htm"; // -> </ Script>
Відповідь надіслав Комлєв Михайло
Напишіть скрипт на VBScript (тому що NN його не підтримує картинки там не буде) Правда не знаю як це буде на VBScript, аналог на JavaScript:
<Script> document.write ( "<IMG SRC = gif.jpg ALT = gif1>") </ Script>або через document.images Вам залишилося всього-лише вивчити VBScript
питання:
Хочу зробити красивою першу сторінку сайту, щоб була картинка, а різні її частини пов'язані з хтмл-файлами. і при наведенні на пов'язану область в центрі з'являвся певний малюнок. Як це зробити підкажіть?
-------------------------------------------------- ---------------------------------
відповідь:
Це робиться дуже просто в програмі "FrontPage". Нажімете на панелі "Image Toolbar" кнопку з прямокутником, кружком або ламаного лінією (все залежить від того, Какку об'єкт Ви хочете вибрати для нанесення на ньому посилання - відповідно прямокутний, круглий або хочете визначити межі самі). Виділяєте на малюнку область, в яку треба занести посилання. Вискакує вікно. У віконці, який підписаний "URL:" пишіть посилання, куди треба перейти. Описав заплутано, але якщо спробуєте на практиці - відразу розберетеся.
Відповідь надіслав Комлєв Михайло
Через MAP.
<MAP name = Map0_about> <AREA coords = 10,0,122,14 href = "/click?http://www.site.ru/html/about/about_main.htm" shape = RECT target = _top> <AREA coords = 10,16,128,28 href = "/click?http://www.site.ru/html/about/about_finances.htm" shape = RECT target = _top> <AREA coords = 131,16,203,28 href = "/ click ? http: //www.site.ru/html/about/about_press.htm "shape = RECT target = _top> </ MAP>
Відповідь надіслав Sasha Cutter
Доведеться картинку робити складовою: головну вставити в середину (так гарніше), а решта куди душа забажає ... При наведенні на котрусь із картинок - головна змінюється, коли мишу з картинки прибираєш - головна стає колишньою - думаю ти так хотів. Треба використовувати такий скрипт:
<Script language = "JavaScript"> if (navigator.appVersion.indexOf ( "2.")! = -1) {Check = false; } if ((navigator.appVersion.indexOf ( "3.")! = -1) && (Navigator.appName.indexOf ( "Explorer")! = -1)) {Check = false; } else {check = true; } im1ch = new Image (); im1ch.src = "1.gif"; im1chon = new Image (); im1chon.src = "2.gif"; function imon (name) {Document [ "change"]. Src = eval (name + "chon.src"); } function imoff (name) {document [ "change"]. src = eval (name + "ch.src"); } NN3 = true; function on (name) {If (check == true) {imon (name);}} function off (name) {If (check == true) {imoff (name);}} </ Script>Де спочатку йде перевірка версії браузера (чи працюватиме скрипт), потім опис картинки і тієї, що її змінює (обознач im1 і im1chon), а потім сам скрипт заміни ... Картинок можна вставити хоч греблю гати (приклад im2, im3, .. imn ...), а ось викликати їх треба так ...
<Img SRC = "main.gif" NAME = "change">
<A href = "/ click? Http: // _ перехід, як і просіл_" onMouseOver = "on ( 'im1')"; onMouseOut = "off ( 'im1')">
<Img SRC = "1.gif" NAME = "im1" BORDER = "0"> </a>
Перший рядок - первоночально зображення, із завданням імені change (см.скріпт), потім доповнить. зобр. (таких можна зробити багато за аналогією) ... Ось і все
питання:
меню зроблено із застосуванням Java (onmouseover і onmouseout), проблема в тому, що картинки які повинні вилазити в onmouseover, завантажуються тільки тоді коли на них наводиш мишей, а потрібно зробити так що б вони завантажувалися разом зі сторінкою
-------------------------------------------------- ---------------------------------
відповідь:
по тому що на каналах з вузькою пропускною спроможністю виходить наступна картина: я наводжу мишей на пункт меню, а картинка яка повинна вивалитися в onmouseover, вилазить тільки через 3-5 секунд.
Відповідь надіслав Андрій Р. Сірвутіс
Помістіть наступний скрипт між тегами <head> .. </ head>
<Script language = "JavaScript"> <! - function MM_preloadImages () {//v3.0 var d = document; if (d.images) {if (! d.MM_p) d.MM_p = new Array (); var i, j = d.MM_p.length, a = MM_preloadImages.arguments; for (i = 0; i if (a [i] .indexOf ( "#")! = 0) {d.MM_p [j] = new Image; d.MM_p [j ++]. src = a [i];}} } // -> </ Script>А далі конструкція приблизно такого вигляду:
<BODY onLoad = "MM_preloadImages ( 'pic1.gif', 'pic2.jpg')">
Усе. Ваші картинки будуть завантажені заздалегідь і при наведенні курсору на об'єкт і, отже, спрацьовуванні onMouseOver будуть відразу показані. Єдиний момент - відвідувач, в принципі, повинен дочекатися завершення завантаження сторінки і картинок. Інакше повториться ситуація, описана в питанні
питання:
Допоможіть зробити біжучий рядок для Netscape на Java-скрипт.
-------------------------------------------------- ---------------------------------
відповідь:
Ось скрипт, який працює в Netscape Communicator 4.51 і в Internet Explorer 4 Крім того, в цю рядок, що біжить можна вставляти посилання.
<Script language = "JavaScript1.2"> / * Cross browser marquee script- ї Dynamic Drive (www.dynamicdrive.com) For full source code, installation instructions, 100's more DHTML scripts, and Terms Of Use, visit dynamicdrive.com * / // Specify the marquee's width (in pixels) var marqueewidth = 330 // Specify the marquee's height (in pixels, pertains only to NS) var marqueeheight = 20 // Specify the marquee's scroll speed (larger is faster) var speed = 6 // Specify the marquee contents var marqueecontents = '<font face = "Arial"> <strong> <big> Та, що біжить рядок. Можна також <a href="/click?http://"> Вставляти лінки. </a> Ваш текст ....... </ big> </ strong> </ font> ' if (document.all) document.write ( '<marquee scrollAmount =' + speed + ' style = "width: '+ marqueewidth +'"> '+ marqueecontents +' ') function regenerate () { window.location.reload () } function regenerate2 () { if (document.layers) { setTimeout ( "window.onresize = regenerate", 450) intializemarquee () } } function intializemarquee () { document.cmarquee01.document.cmarquee02.document.write ( '<Nobr>' + marqueecontents + '</ nobr>') document.cmarquee01.document.cmarquee02.document.close () thelength = document.cmarquee01.document.cmarquee02.document.width scrollit () } function scrollit () { if (document.cmarquee01.document.cmarquee02.left> = thelength * (- 1)) { document.cmarquee01.document.cmarquee02.left- = speed setTimeout ( "scrollit ()", 100) } else { document.cmarquee01.document.cmarquee02.left = marqueewidth scrollit () } } window.onload = regenerate2 </ Script> <Ilayer width = & {marqueewidth}; height = & {marqueeheight}; name = "cmarquee01"> <Layer name = "cmarquee02"> </ layer> </ Ilayer>
питання:
Терміново потрібна Javа: при наведенні на одну заголовок (картинку), я бачу дві нові картинки, які знаходяться в різних місцях, тобто з одного боку картинку, а в іншому місці опис цієї картинки.
-------------------------------------------------- ---------------------------------
відповідь:
Ось скрипт:
<Script language = "JavaScript"> if (navigator.appVersion.indexOf ( "2.")! = -1) {Check = false; } if ((navigator.appVersion.indexOf ( "3.")! = -1) && (Navigator.appName.indexOf ( "Explorer")! = -1)) {Check = false; } else {check = true; } im1ch = new Image (); im1ch.src = "1.jpg"; im1chon = new Image (); im1chon.src = "2.jpg"; im1 = new Image (); im1.src = "1_1.jpg"; im1on = new Image (); im1on.src = "1_2.jpg"; function imon (name) {Document [ "change"]. Src = eval (name + "chon.src"); } document [name] .src = eval (name + "on.src"); function imoff (name) {document [ "change"]. src = eval (name + "ch.src"); } document [name] .src = eval (name + ".src"); NN3 = true; function on (name) {If (check == true) {imon (name);}} function off (name) {If (check == true) {imoff (name);}} </ Script>А ось і виклик:
<A href = "/ click? Http: // !!!" onMouseOver = "on ( 'im1')"; onMouseOut = "off ( 'im1')">
<Img SRC = "1.jpg" NAME = "im1" BORDER = "0"> </a> <br> <img "1_1.jpg" NAME = "change">
питання:
Скажіть, як в JavaScript поміняти заголовок вікна браузера для Netscape? document.title чомусь для нього не працює
-------------------------------------------------- ---------------------------------
відповідь:
Швидше за все ніяк, бо document.title в NN є read-only. Можна спробувати:
<HTML> <HEAD> <Title> ttt </ title> </ HEAD> <BODY> <Form> <Script> function changeTitle (newTitle) { document.write ( "<title>"); document.write (newTitle); document.write ( "</ title>"); } </ Script> <Input type = "text" name = "txtTitle"> <Input type = "submit" value = "Change title" onClick = "changeTitle (document.forms [0] .txtTitle.value)"> </ Form> </ BODY> </ HTML>але працює така конструкція некоректно. Інших способів немає.
питання:
Скрипт відкриває popup і фокус передається йому, як зробити протилежне?
-------------------------------------------------- ---------------------------------
відповідь:
<Script Language = "JavaScript"> Artel = window.open ( "Frame2.htm", "Artel", "Width = 500, Height = 160, Toolbar = 0, Location = 0", "Status = 0, Menubar = 0, Scrollbars = 0, Resizable = 0"); // focus (); </ Script>
питання:
: ^ D
-------------------------------------------------- ---------------------------------
відповідь:
: ^ D
питання:
Чи є скрипт визначає розмір просмоторщік користувача (ну там 640х480 і т.д.)?
-------------------------------------------------- ---------------------------------
відповідь:
<Script language = "JavaScript"> var height = 0; var width = 0; if (self.screen) {// for NN4 and IE4 width = screen.width height = screen.height } else if (self.java) {// for NN3 with enabled Java var jkit = java.awt.Toolkit.getDefaultToolkit (); var scrsize = jkit.getScreenSize (); width = scrsize.width; height = scrsize.height; } </ Script> </ Head> <Body> <Script language = "JavaScript"> <! - if (width> 0 && height> 0) { document.writeln ( 'Ваше дозвіл:', width, 'x', height) } Else { document.writeln ( 'Я не знаю вашого дозволу \\ я') } // -> </ Script>
Відповідь надіслав Литвинов Роман
Скрипт, який у відповідність з дозволом екрану користувача направляє на відповідну сторінку!
<Head> <Script language = "JavaScript"> <! - var height = 0; var width = 0; if (self.screen) {// for NN4 and IE4 width = screen.width height = screen.height } Else if (self.java) {// for NN3 with enabled Java var jkit = java.awt.Toolkit.getDefaultToolkit (); var scrsize = jkit.getScreenSize (); width = scrsize.width; height = scrsize.height; } // -> </ Script> </ Head> <Body> <Script language = "JavaScript"> <! - if (width == 800 && height == 600) { location.href = "800x600.htm"} else if (width == 640 && height == 480) { location.href = "640x480.htm"} else {location.href = "unknown.htm"} // -> </ Script> </ Body>
питання:
Як зробити предзагрузкі зображень (гіфів)
-------------------------------------------------- ---------------------------------
відповідь:
і потім, при ОнМаусОвер, зробити одночасно заміну зображення і рядки статусу, а при ОнМаусАут - відновити зображення (рядок статусу)? Це робиться за допомогою function - це я знаю. І значення рядка статусу у мене змінюється (window.status = document.title - це зрозуміло). Не зрозуміло тільки з малюнками.
Відповідь надіслав DoctorGenius service
Ось скрипт, який буде заміняти малюнок і напис в status bar при наведенні миші. Якщо миша прибрати - все повернеться як було.
Цю частину скрипта розмістити між тегами <HEAD> ... </ HEAD>
<Script language = "javascript1.1"> <! - firstimage = new Image () firstimage.src = "p1.gif" secondimage = new Image () secondimage.src = "p2.gif" // -> </ Script> <Script> <! - function filter (imagename, objectsrc) { if (document.images) document.images [imagename] .src = eval (objectsrc + ". src") } // -> </ Script>Цю частину скрипта розмістити між <BODY> ... </ BODY>
<A href = "/ click? Http: //" onmouseover = "filter ( 'a', 'secondimage'); window.status = 'Опис посилання в status bar'; return true;" onmouseout = "filter ( 'a', 'firstimage'); window.status = ''; return true;">
<Img src = "p1.gif" name = "a" border = 0> </a>
питання:
: Як тільки юзер натискає в браузері кнопку 'Back', він знову потрапляє на index.htm, яка тут же відсилає його назад. Виходить, що сторінка як би не дозволяє користувачеві з неї піти. Як з цим боротися?
-------------------------------------------------- ---------------------------------
відповідь:
Моя сторінка index.htm виглядає наступним чином:
<Script> if (браузер == InternetExplorer) document.location.href = "страніца_под_IE.htm"; if (браузер == NetscapeNavigator) document.location.href = "страніца_под_NN.htm"; document.location.href = "страніца_под_все_остальние_браузери.htm"; </ Script>Скрипт прекрасно працює: як тільки юзер під IE заходить на сторінку, він відразу ж потрапляє на "страніца_под_IE.htm"
Відповідь надіслав YURIK
Зроби окрему кнопку входу Наприклад: Трохи доробити ваш скрипт.
<Script> function vhod () { if (браузер == InternetExplorer) document.location.href = "страніца_под_IE.htm"; if (браузер == NetscapeNavigator) document.location.href = "страніца_под_NN.htm"; document.location.href = "страніца_под_все_остальние_браузери.htm"; } </ Script> <A HREF="#" onClick="vhod()"> Вхід </a>Так у вас з'явиться ще одна сторінка під банери і лічильники.
Відповідь надіслав Andrej R. Sirvutis
Наскільки я знаю, натискання кнопки "Назад / Back", в Експлоурері наприклад, рівносильно натискання на посилання javascript: history.back ()
Спробуйте обіграти цей перехід. Або використовуйте onUnload (), але тоді слід враховувати, що спрацює в будь-якому випадку, навіть при переході за іншим посиланням з поточної сторінки.
питання:
Як зробити, щоб сторінка відкривалася ні з заданими width і height, а в повне вікно?
-------------------------------------------------- ---------------------------------
відповідь:
Є наступний скрипт: 001 = window.open ( "file: /// c: /s/sb_bb001.htm", "001", "left = 0, top = 0, width = 730, height = 480, scrollbars = yes , resizeable = yes ");
Відповідь надіслав Олександр Цегельник
Замість значень напиши: для width = <script> screen.width </ script>, для height = <script> screen.height </ script>. Повинно працювати як кінь!
питання:
Використовувати різні картинки для різних дозволів. Дізнатися ширину екрану:
-------------------------------------------------- ---------------------------------
відповідь:
<Script> x = screen.width; // Тут взагалі-то треба обчислювати ширину вікна - // Мінус ширина scrollbar, тому що вікно може бути не повністю // Розгорнуто ... if (x> 750) document.write ( '<img src = "1024.gif width ="' + x + ' ">'); // Хоча це не є рулез розтягувати або стискати картинку ... else document.write ( '<img src = "800.gif width ="' + x + ' ">'); </ Script>дві картинки тому що розтягувати 750 px до 1000 або стискати 1000 до 640 - теж не красиво. та й взагалі стискати / розтягувати - некрасиво
питання:
Є скрипт, за допомогою якого робити pop-up. Тобто юзер закрив вікно браузера, після чого з'являється нове задане вікно. А чи можна задати час, після якого має відкритися друге вікно. Чи можна відкривати декілька pop-up через різний час?
-------------------------------------------------- ---------------------------------
відповідь:
Відповідь надіслав Rustem Samatov
setTimeout (popup (), 200); // Виконати функцію popup (); з затримкою в 200 мілісекунд. тобто по unLoad = setTimeout (.... і все рулить але це дуже поганий тон
питання:
Який потрібен скрипт щоб той дізнавався розширення екрану і потім в залежності цих значень передавав певні значення в параметри розміру фреймів?
-------------------------------------------------- ---------------------------------
відповідь:
Використовуйте цей скрипт. <Script language = "JavaScript"> <! - if (self.screen) { width = screen.width height = screen.height } else if (self.java) { var jkit = java.awt.Toolkit.getDefaultToolkit (); var scrsize = jkit.getScreenSize (); width = scrsize.width; height = scrsize.height; } Else { width = height = 'x' } if (width == 640) {Document.write ( '<FRAMESET cols = 20%, 80%> <FRAME src = "menu.htm"> <FRAME name = display src = "firstpage.htm"> </ FRAMESET> '); } else if (width == 800) {Document.write ( '<FRAMESET cols = 50%, 50%> <FRAME src = "menu.htm"> <FRAME name = display src = "firstpage.htm"> </ FRAMESET> '); } else if (width == тисяча двадцять чотири) {Document.write ( '<FRAMESET cols = 10%, 90%> <FRAME src = "menu.htm"> <FRAME name = display src = "firstpage.htm"> </ FRAMESET> '); } else if (width == 1280) {Document.write ( '<FRAMESET cols = 30%, 70%> <FRAME src = "menu.htm"> <FRAME name = display src = "firstpage.htm"> </ FRAMESET> '); } else {document.write ( '<FRAMESET cols = 40%, 60%> <FRAME src = "menu.htm"> <FRAME name = display src = "firstpage.htm"> </ FRAMESET> '); } // -> </ Script>
питання:
Потрібен скрипт (бажано з поясненнями) для підрахунку цін
-------------------------------------------------- ---------------------------------
відповідь:
Створюєте форму з випадають меню <Form name = "choisecomp" style = "padding: 0; margin: 0; border: 0"> <Select name = "MB" onChange = "javascript: _calculate ()"> <Option value = "0" selected> none </ option> <Option value = "100"> MB Gygabyte PII ($ 100) </ option> <Option value = "200"> MB Gygabyte PIII ($ 200) </ option> </ Select> <BR> <Select name = "Processor" onChange = "......... ...... </ Select> <BR> <Select name = "RAM" onChange = "......... ...... </ Select> <BR> ............................ <Input type = "text" name = "summarn"> </ Form> і функцію _calculate () яка і буде вважати. function _calculate () { var comp = new Array ( "MB", "Processor", "RAM", .........); var summa = 0; for (i = 0; i <comp.lenght; i ++) { if (document.choisecomp.comp [i] .selected) { summa = summa + document.choisecomp.comp [i] .value; } } document.choisecomp.summarn.value = summa; }
питання:
Як здолати так щоб "BOTTOM" сидів тільки внизу незважаючи на розміри вікна під "BOTTOM" я маю на увазі ось наприклад такий текст:
-------------------------------------------------- ---------------------------------
відповідь:
Можу запропонувати варіант на JavaScript, якщо підходить користуйся%)! вписуєш його між <head> і </ head>
<Style> #divBottom {position: absolute; font-family: arial, helvetica; height: 20; width: 100; font-size: 12pt; font-weight: bold} </ style> <script language = "JavaScript1.2"> var gright = 220 // відступи справа і знизу var gbottom = 40 var n = (document.layers)? 1: 0; var ie = (document.all)? 1: 0; function makeObj (obj, nest) {nest = (! nest)? '': 'Document.' + Nest + '.' this.css = (n)? eval (nest + 'document.' + obj): eval (obj + '. style') this.moveIt = b_moveIt; } Function b_moveIt (x, y) {this.x = x; this.y = y this.css.left = this.x this.css.top = this.y} var pageWidth, pageHeight function Init () {oTest = new makeObj ( 'divBottom') pageWidth = (ie)? document. body.offsetWidth-4: innerWidth; pageHeight = (ie)? document.body.offsetHeight-2: innerHeight; checkIt () onresize = resized if (ie) window.onscroll = checkIt; } Function checkIt () {if (ie) oTest.moveIt (document.body.scrollLeft + pageWidth-gright, document.body.scrollTop + pageHeight-gbottom) else if (n) {oTest.moveIt (window.pageXOffset + pageWidth- gright, window.pageYOffset + pageHeight-gbottom) setTimeout ( 'checkIt ()', 20)}} function resized () {pageWidth = (ie)? document.body.offsetWidth-4: innerWidth; pageHeight = (ie)? document.body.offsetHeight-2: innerHeight; if (ie) checkIt ()} onload = Init; if (n || ie) document.write ( '<div id = "divBottom"> Так хто там сайт зробив? </ div>') </ script>після цього повинен head закритися, ніби все!
питання:
А як задати порядок завантаження картинок, а то виходить що банери пошуковиків лізуть вперед менюшних моїх?
-------------------------------------------------- ---------------------------------
відповідь:
Використовуйте скрипт Preload (код нижче). Він завантажить картинки при виклику, а потім, при запиті картинок, їх покаже, а банери будуть завантажуватися в звичайному порядку.
<Head> <script language = "JavaScript"> <! - function MM_preloadImages () {//v3.0 var d = document; if (d.images) {if (! d.MM_p) d.MM_p = new Array (); var i, j = d.MM_p.length, a = MM_preloadImages.arguments; for (i = 0; iСподіваюся, зрозуміло. Якщо не спрацює, то спробуйте поставити цей скрипт на тій сторінці, звідки здійснюється перехід на сторінку з банерами.</ Script> </ HEAD> <BODY onLoad = "MM_preloadImages ( 'pic1.gif', 'pic2.jpg')"> ... <Body>
питання:
Як можна зробити, щоб наводиш на якийсь малюнок наприклад на чола стоїть на голові і щоб він починав крутитися.
-------------------------------------------------- ---------------------------------
відповідь:
Найпростіше - використовувати анімовану картину (anim.gif) і статичну з першим кадром анимированной (stat.gif).
Нехай зображення описано як <img src = "stat.gif" onmouseover = "JustDoIt (this, 'anim.gif')" onmouseout = "JustDoIt (this, 'stat.gif')">
а функція виглядає:
function JustDoIt (obj, src) {obj.src = src; }
Але це без пре-лоадінга, тобто при наведенні на картинку буде запит до анимированной на сервері, що загальмує роботу і змаже враження.
Пре-лоадінг здійснюється слід. кодом, кіт. вставлется перед <body>:
<Script> var cash = 0; if (document.images) { var ImgList = new Array (); ImgList [0] = new Image (); ImgList [0] .src = "stat.gif"; ImgList [1] = new Image (); ImgList [1] .src = "anim.gif"; cash = 1; } </ Script>Перевірка на наявність document.images відсікає випадки використання старих браузерів, кіт. не підтримують об'єкт Images (IE3 наприклад)
Тоді наша функція буде виглядати слід. чином:
function JustDoIt (obj, src, x) {If (cash == 1) obj.src = ImgList [x] .src; else obj.src = src; }а опис картинки змінитися на
<Img src = "stat.gif" onmouseover = "JustDoIt (this, 'anim.gif', 1)" onmouseout = "JustDoIt (this, 'stat.gif', 0)">
питання:
Як за допомогою JavaScript "змусити" відкриватися вікно на весь екран, незалежно від дозволу?
-------------------------------------------------- ---------------------------------
відповідь:
Значить, система проста
<Script language = "JavaScript"> window.moveTo (0,0);
window.resizeTo (screen.availWidth, screen.availHeight)
</ Script>
І все! Вставіш собі це десь в сторінці
питання:
Як за допомогою JavaScript можна закешовану малюнок?
-------------------------------------------------- ---------------------------------
відповідь:
Якщо я правильно зрозумів завдання. Щось типу
if (document.images) {
var ImgList = new Array ();
ImgList [0] = new Image ();
ImgList [0] .src = "stat.gif";
ImgList [1] = new Image ();
ImgList [1] .src = "anim.gif";
}
а потім звертатися не по імені потрібної картинки, а привласнення робити як
obj.src = ImgList [x] .src;
питання:
Як з Java-аплета змінювати текст на містить його сторінці? Може як-небудь з використанням JavaScript або VBScript? Місце на сторінці де повинен змінюватися текст відомо, але заздалегідь ніезвестно на що його міняти?
-------------------------------------------------- ---------------------------------
відповідь:
Відповідь від Andrei.
Написати на сторінці в тому місці, де буде вставлятися текст, наступне:
<Script language = "javascript" src = "myscript.js"> </ script>
Створити файл myscript.js і записати в нього потрібний текст, який потім можна буде змінювати:
document.write ( "Текст");
Можна створити кілька function з різними текстами, а потім за сценарієм викликати різні з них з ye; ysvb текстами
питання:
При наведенні курсора картинка 1.gif змінюється на картинку 2.gif клік мишки на зображенні (1.gif або 2.gif) перехід за гіперпосиланням на сторінку
-------------------------------------------------- ---------------------------------
відповідь:
Взагалі кажучи, можна зробити трохи по іншому. При наведенні на 1.gif картинка змінюється на 2.gif А потім, при натисканні миші, спрацьовує гіперпосилання. При догляді миші з малюнка, зображення відновлюється (цього можна і не робити, а то й потрібно).
<HTML> <HEAD> <Script language = "JavaScript"> <! - function MM_swapImgRestore () {//v3.0 var i, x, a = document.MM_sr; for (i = 0; a && i <a.length && (x = a [i]) && x.oSrc; i ++) x.src = x.oSrc; } function MM_preloadImages () {//v3.0 var d = document; if (d.images) {if (! d.MM_p) d.MM_p = new Array (); var i, j = d.MM_p.length, a = MM_preloadImages.arguments; for (i = 0; i <a.length; i ++) if (a [i] .indexOf ( "#")! = 0) {d.MM_p [j] = new Image; d.MM_p [j ++]. src = a [i];}} } function MM_findObj (n, d) {//v3.0 var p, i, x; if (! d) d = document; if ((p = n.indexOf ( "?"))> 0 && parent.frames.length) { d = parent.frames [n.substring (p + 1)]. document; n = n.substring (0, p);} if (! (x = d [n]) && d.all) x = d.all [n]; for (i = 0;! x && i <d.forms.length; i ++) x = d.forms [i] [n]; for (i = 0;! x && d.layers && i <d.layers.length; i ++) x = MM_findObj (n, d.layers [i] .document); return x; } function MM_swapImage () {//v3.0 var i, j = 0, x, a = MM_swapImage.arguments; document.MM_sr = new Array; for (i = 0; i <(a.length-2); i + = 3) if ((x = MM_findObj (a [i]))! = null) {document.MM_sr [j ++] = x; if (! x.oSrc) x.oSrc = x.src; x.src = a [i + 2];} } // -> </ Script> </ HEAD> <BODY onLoad = "MM_preloadImages ( '1.gif', '2.gif')"> <P ALIGN = "CENTER"> <Img name = "Image1" alt = "Text" border = "0" src = "1.gif" onMouseOut = "MM_swapImgRestore ()" onMouseOver = "MM_swapImage ( 'Image1', '', '2.gif', 1)"> </ P> </ BODY> </ HTML>Відповідь від Shico.
Ось найпростіших конструкція без предзагрузок і всього іншого. Працює дуже навіть добре, тільки малюнки роби поменше вагою.
<a href="xlam.htm"> <img src = "xlam1.gif" WIDTH = "120" HEIGHT = "24" alt = "XLAM" border = "0" onMouseover = "this.src = 'xlam2.gif ' "onMouseout =" this.src =' xlam1.gif ' "> </a>
Скрізь все працює однаково і ніяких додаткових функцій.
питання:
Потрібен скрипт для "вбивства" фрейма і наслідків його закриття.
-------------------------------------------------- ---------------------------------
відповідь:
Сенс такий:
Є сторінка, вміст якої я поміняти не в силах (її код нижче). Вона завантажує у вікно сторінку мого сайту http://mysite.ru. При закриття вікна або завантаження іншої посилання поверх фрейма (_top) вискакує нове вікно з рекламою. Ось як би позбутися від нього?
Відповідь від Andrej R. Sirvutis.
<Script> if (parent.frames [0]) { top.location.href = "/click?http://mysite.ru"; } </ Script>Цей скрипт "вб'є" чужий фрейм і відкриє в цьому вікні Ваш сайт. Правда вікно з рекламою може все одно з'явитися, тому що в зухвалій файлі прописаний скрипт на відкриття нового вікна при вивантаженні. Без його зміни це може не вийти.
Відповідь 2 Якщо тобі потрібно вбити фрейм, то ось він скриптик:
<Script language = "JavaScript" type = "text / javascript"> setTimeout ( "changePage ()", 3000); function changePage () { if (self.parent.frames.length! = 0) self.parent.location = document.location; } </ Script>Так до речі, код від Gordon McComb.
питання:
У мене є сайт. Сайт створено з фреймами. Що мені робити якщо на одну з станиць зайшли без фрейму? Чи є якийсь JavaScript який перекидає на головну сторінку з цією сторінкою?
-------------------------------------------------- ---------------------------------
відповідь:
Пропоную дуже простий скрипт, який треба розмістити в розділі HEAD або, у всякому разі, до розділу BODY. Припустимо, у вас два однакових горизонтальні фрейми. У верхній завантажується файл 1.htm (яке-небудь меню), а в нижній - 2.htm. Додайте на початку файлу 2.htm такий скрипт:
<Script> if (top.frames.length == 0) { document.write ( "" <frame name = 'q1' src = '#'> "+ "<Frame name = 'q2' src = '#'>" + "</ Frameset>") top.frames [0] .location.href = '1.htm' top.frames [1] .location.href = '2.htm' } </ Script>Насамперед перевіряється, чи є на самому початку фрейми. Якщо вже є, то завантажується вміст поточного файлу (2.htm). Якщо спочатку фреймів немає, то вони тут же малюються. А через мить вказується, які файли в них завантажуються.
Як індексів масиву frames [] можна вказувати явні імена фреймів frames [ 'q1'], frames [ 'q2']. Ну, а для першого фрейму можна відразу вписати джерело <frame name = 'q1' src = '1.htm'>, не грає ролі.
Відповідь від Andrej R. Sirvutis.
<Script language = "JavaScript"> if (self.parent.frames.length == 0) self.parent.location = "index_main.htm"; </ Script>Якщо поточна сторінка завантажена не у фрейм, то викликається сторінка index_main.htm. Додайте між <head> і </ head>.
Відповідь від Victor.
Цей скрипт при відкритті сторінки на якій він розміщений на весь екран видасть текст (при завантаження цієї сторінки у фреймі цей текст звичайно ж буде відсутній):
Краще дивитися з керуючим фреймом
<SCRIPT LANGUAGE = "JavaScript"> <! - If (self.parent.frames.length == 0) document.writeln ( "Краще дивитися з <A HREF = \\" index.htm \\ "> управлющім фреймом < / A> "); // -> </ SCRIPT>
питання:
Сайт з фреймами, припустимо 3 фрейма. Як зробити щоб при натисканні на лінк змінювалося зміст не одного фрейма, а 2-3?
-------------------------------------------------- ---------------------------------
відповідь:
Написати java скрипт.
на кнопках:
onClick = "javascript: _change (_ваш номер ссилкі_)" //т.е. на першій кнопці - 1, на другий - 2, ... // При натисканні на 1-ю кнопку все певні // В скрипті фрейми змінять хреф на linkX_1.htm, // При натисканні на другу - на linkX_2.htm і т.д. function _change (numLink) { linkArray1 = new Array ( "link1_1.htm", "link1_2.htm", ....); linkArray2 = new Array ( "link2_1.htm", "link2_2.htm", ....); // І так далі за кількістю фреймів, де link1_1 - перша вже // Змінена посилання в 1-му фреймі. name_of_frame1.location = eval ( 'http://mysite.com/' + linkArray1 [numLink]); name_of_frame2.location = eval ( 'http://mysite.com/' + linkArray2 [numLink]); // Знову ж за кількістю змінюваних фреймів }
Відповідь від Andrej R. Sirvutis.
Використовуйте обробку події onClick.
<a target="frame2" href="page2.htm" onclick="parent.frame3.location.href='page3.htm'"> Link </a>
Ця конструкція дозволить завантажити у фрейм "frame2" сторінку "page2.htm" і одночасно у фрейм "frame3" сторінку "page3.htm".
Коментарі
Коментуючи, пам'ятайте про те, що зміст і тон Вашого повідомлення можуть зачіпати почуття реальних людей, проявляйте повагу та толерантність до своїх співрозмовників навіть у тому випадку, якщо Ви не поділяєте їхню думку, Ваша поведінка за умов свободи висловлювань та анонімності, наданих інтернетом, змінює не тільки віртуальний, але й реальний світ. Всі коменти приховані з індексу, спам контролюється.