Звук при наведении на кнопку и нажатии

Тема в разделе "Другие языки", создана пользователем acelotuse, 22 апр 2009.

Статус темы:
Закрыта.
Модераторы: Цукер
  1. acelotuse

    acelotuse

    Регистр.:
    31 мар 2009
    Сообщения:
    312
    Симпатии:
    37
    День добрый! Помогите советом, я в программировании чайник. Но несмотря на столь грустный факт, пытаюсь замутить дизайн сайта, в котором нужен такой код: чтобы при наведении указателя на кнопку проигрывался звук, а при нажатии - другой. Оба звука должны быть не стандртными виндовскими, а другими, мелодия или записанный голос. Видел подобное давно решалось с помощью явы. Может скинет кто? А есть другие решения без явы?
    ЗЫ. использоваться будет в шаблоне для ДЛЕ.
    Спасибо за ответы.
     
  2. BlackPawn

    BlackPawn Постоялец

    Регистр.:
    19 мар 2009
    Сообщения:
    75
    Симпатии:
    27
  3. ne0zx

    ne0zx

    Регистр.:
    1 ноя 2008
    Сообщения:
    212
    Симпатии:
    74
    Если без явы, то на флеше.
     
    acelotuse нравится это.
  4. acelotuse

    acelotuse

    Регистр.:
    31 мар 2009
    Сообщения:
    312
    Симпатии:
    37
    Спасибо, давно искал, не мог найти. А про флеш я знал, только мне нужно без него.
    А как сделать чтобы при наведении был один, а при нажатии другой?
     
  5. BlackPawn

    BlackPawn Постоялец

    Регистр.:
    19 мар 2009
    Сообщения:
    75
    Симпатии:
    27
    Добавить в функцию playSound аргумент - название файла и вызвать эту функцию для onMouseOver и onClick с разными аргументами.
     
    acelotuse нравится это.
  6. acelotuse

    acelotuse

    Регистр.:
    31 мар 2009
    Сообщения:
    312
    Симпатии:
    37
    Спасибо за своевременный ответ. Будут тестить.:ay:
     
  7. Atec

    Atec

    Регистр.:
    28 апр 2007
    Сообщения:
    296
    Симпатии:
    31
    А с помощью CSS свук нельзя проигрывать? А то можно было бы использовать hover и active
     
  8. acelotuse

    acelotuse

    Регистр.:
    31 мар 2009
    Сообщения:
    312
    Симпатии:
    37
    Atec, видимо нет. Сам искал везде, понял, что только на яве и флеше можно это сделать.
     
  9. zardoz

    zardoz Постоялец

    Регистр.:
    6 май 2008
    Сообщения:
    84
    Симпатии:
    59
    Вот довольно известный javascript код для проигрывания звуков:
    Код:
    <script LANGUAGE="JavaScript"><!--
    // Preload and play audio files with event handler (MouseOver sound)
    // designed by JavaScript Archive, (c)1999
    // Get more free javascripts at _http://jsarchive.8m.com
    
    var aySound = new Array();
    // Below: source for sound files to be preloaded
    aySound[0] = "click.wav";
    aySound[1]="hover.wav";
    
    // DO NOT edit below this line
    document.write('<BGSOUND ID="auIEContainer">')
    IE = (navigator.appVersion.indexOf("MSIE")!=-1 && document.all)? 1:0;
    NS = (navigator.appName=="Netscape" && navigator.plugins["LiveAudio"])? 1:0;
    ver4 = IE||NS? 1:0;
    onload=auPreload;
    
    function auPreload() {
    if (!ver4) return;
    if (NS) auEmb = new Layer(0,window);
    else {
    Str = "<DIV ID='auEmb' STYLE='position:absolute;'></DIV>";
    document.body.insertAdjacentHTML("BeforeEnd",Str);
    }
    var Str = '';
    for (i=0;i<aySound.length;i++)
    Str += "<EMBED SRC='"+aySound[i]+"' AUTOSTART='FALSE' HIDDEN='TRUE'>"
    if (IE) auEmb.innerHTML = Str;
    else {
    auEmb.document.open();
    auEmb.document.write(Str);
    auEmb.document.close();
    }
    auCon = IE? document.all.auIEContainer:auEmb;
    auCon.control = auCtrl;
    }
    function auCtrl(whSound,play) {
    if (IE) this.src = play? aySound[whSound]:'';
    else eval("this.document.embeds[whSound]." + (play? "play()":"stop()"))
    }
    function playSound(whSound) { if (window.auCon) auCon.control(whSound,true); }
    function stopSound(whSound) { if (window.auCon) auCon.control(whSound,false); }
    //-->
    </script> 
    а вот пример приминения для кнопки:

    Код:
    <input type="button" value="Click here" onClick="playSound(0)" onMouseOver="playSound(1)">
     
    nazgard, acelotuse и Vader21 нравится это.
Статус темы:
Закрыта.