За последние 24 часа нас посетили 18293 программиста и 1607 роботов. Сейчас ищут 1626 программистов ...

Плагин jquery выпадения дива

Тема в разделе "JavaScript и AJAX", создана пользователем V1T, 7 май 2009.

  1. V1T

    V1T Активный пользователь

    С нами с:
    7 окт 2008
    Сообщения:
    311
    Симпатии:
    0
    Адрес:
    Крым
    Нужен плуг на JQ для реализации выпадения например дива. Ну идея такая, при щелчке на картинку или ссылку, ну неважно, должен вылазить снизу див, в моём случае с формой связи, а весь остальной сайт как бы затемнятся, смотрел сотню плугов, но не могу ничего подобрать подходящего, сам в JQ не силён пока, только учить начинаю. Спасибо
     
  2. vital

    vital Активный пользователь

    С нами с:
    18 дек 2006
    Сообщения:
    162
    Симпатии:
    0
    Адрес:
    Минск
    для решения данной задачи вам потребуется однопиксельный gif, z-index, opacity и 10 строк js кода.
     
  3. Вльдемар

    Вльдемар Активный пользователь

    С нами с:
    20 май 2006
    Сообщения:
    635
    Симпатии:
    0
    Адрес:
    Белхород
  4. V1T

    V1T Активный пользователь

    С нами с:
    7 окт 2008
    Сообщения:
    311
    Симпатии:
    0
    Адрес:
    Крым
    Вльдемар, ты хоть тестил это?
     
  5. vital

    vital Активный пользователь

    С нами с:
    18 дек 2006
    Сообщения:
    162
    Симпатии:
    0
    Адрес:
    Минск
    вот простая реализация поставленной задачи

    HTML:
    1. <script type="text/javascript">
    2. function show() {
    3. document.getElementById('back').style.display='block';
    4. document.getElementById('myalert').style.display='block';
    5. document.getElementById('myalert').innerHTML='myalert <a onClick="hide()">close</a><br>'+document.getElementById('text').value;
    6. }
    7. function hide() {
    8. document.getElementById('back').style.display='none';
    9. document.getElementById('myalert').style.display='none';
    10. }
    11.  
    12. <style type="text/css">
    13. #myalert
    14. {
    15. position:absolute;
    16. top:100px;
    17. left:100px;
    18. width:200px;
    19. height:150px;
    20. z-index:2;
    21. background-color:white;
    22. display:none;
    23. }
    24. #back
    25. {
    26. position:absolute;
    27. top:0px;
    28. left:0px;
    29. width:100%;
    30. height:100%;
    31. z-index:1;
    32. background-color:black;
    33. display:none;
    34. opacity:0.8;
    35. cursor:wait;
    36. }
    37.  
    38. <div id=myalert></div>
    39. <div id=back></div>
    40. <input type=text id=text>
    41. <input type=button value=show onClick="show()">
    42.  
    в IE вместо opacity:0.8; надо filter: alpha(opacity=80);
     
  6. Koc

    Koc Активный пользователь

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
    так не, ТС нужно что бы он именно "выплывал" снизу.
    В этих примерах он просто появляется.
     
  7. Cron

    Cron Активный пользователь

    С нами с:
    10 июл 2008
    Сообщения:
    289
    Симпатии:
    0
    Адрес:
    Украина, Сумы
  8. Koc

    Koc Активный пользователь

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
  9. vital

    vital Активный пользователь

    С нами с:
    18 дек 2006
    Сообщения:
    162
    Симпатии:
    0
    Адрес:
    Минск
    сча накалякаю ))
     
  10. vital

    vital Активный пользователь

    С нами с:
    18 дек 2006
    Сообщения:
    162
    Симпатии:
    0
    Адрес:
    Минск
    HTML:
    1. <script type="text/javascript">
    2.  
    3. function show() {
    4. document.getElementById('myalert').style.display='block';
    5. document.getElementById('back').style.display='block';
    6. document.getElementById('myalert').innerHTML='myalert <a onClick="hide()">close</a><br>'+document.getElementById('text').value;
    7. pxT=setInterval(move, pxMs);
    8. opT=setInterval(shadow, opMs);
    9. }
    10.  
    11. function move() {
    12. px=px/pxSteps;
    13. pxNow=px+pxNeed;
    14. document.getElementById('myalert').style.top=pxNow;
    15. if(pxNow<pxNeed+1) {
    16. stopMove();
    17. }
    18. }
    19.  
    20. function shadow() {
    21. i++;
    22. document.getElementById('back').style.opacity=opByStep*i;
    23. if(i==opSteps) {
    24. stopShadow();
    25. }
    26. }
    27.  
    28. function stopMove() {
    29. clearInterval(pxT);
    30. }
    31.  
    32. function stopShadow() {
    33. clearInterval(opT);
    34. }
    35.  
    36.  
    37.  
    38. function hide() {
    39. px=screen.height;
    40. document.getElementById('myalert').style.top=px;
    41. document.getElementById('myalert').style.display='none';
    42. document.getElementById('back').style.display='none';
    43. document.getElementById('back').style.opacity=0;
    44. i=0;
    45. }
    46.  
    47. <style type="text/css">
    48. #myalert
    49. {
    50. position:fixed;
    51. left:100px;
    52. width:200px;
    53. height:150px;
    54. z-index:2;
    55. background-color:white;
    56. display:none;
    57. }
    58. #back
    59. {
    60. position:fixed;
    61. top:0px;
    62. left:0px;
    63. width:100%;
    64. height:100%;
    65. z-index:1;
    66. background-color:black;
    67. display:none;
    68. cursor:wait;
    69. }
    70.  
    71. <div id=myalert></div>
    72. <div id=back></div>
    73. <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
    74. <input type=text id=text>
    75. <input type=button value=show onClick="show()">
    76.  
    77. <script type="text/javascript">
    78. i=0;
    79. opMs=10;
    80. opSteps=50;
    81. opNeed=0.8;
    82. opByStep=opNeed/opSteps;
    83. pxMs=10;
    84. pxSteps=1.1;
    85. pxNeed=100;
    86. px=screen.height;
    87. document.getElementById('myalert').style.top=px;
     
  11. vital

    vital Активный пользователь

    С нами с:
    18 дек 2006
    Сообщения:
    162
    Симпатии:
    0
    Адрес:
    Минск
    opMs устанавливает интервал в милисекундах
    opNeed устанавливает необходимый конечный уровень прозрачности
    opSteps устанавливает плавность затемнения

    pxMs устанавливает интервал в милисекундах
    pxNeed устанавливает необходимое положение div-а в пикселях относительно верхнего края
    pxSteps устанавливает плавность "всплывания" div-а
     
  12. vital

    vital Активный пользователь

    С нами с:
    18 дек 2006
    Сообщения:
    162
    Симпатии:
    0
    Адрес:
    Минск
  13. Koc

    Koc Активный пользователь

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
    vital
    спасибо, ты сэкономил мое время. :wink:
     
  14. vital

    vital Активный пользователь

    С нами с:
    18 дек 2006
    Сообщения:
    162
    Симпатии:
    0
    Адрес:
    Минск
    Koc, няма за шо ))

    я проверял на мозиле
    если не трудно проверте на других браузерах
     
  15. Koc

    Koc Активный пользователь

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
    IE8: сначала выскакивает панелька, что в целях безопасности была заблокирована часть скриптов. Разрешаю их выполнение, работает некорректно.

    Safari 3: все ок
     
  16. vital

    vital Активный пользователь

    С нами с:
    18 дек 2006
    Сообщения:
    162
    Симпатии:
    0
    Адрес:
    Минск
    на досуге поставлю и поправлю
     
  17. vital

    vital Активный пользователь

    С нами с:
    18 дек 2006
    Сообщения:
    162
    Симпатии:
    0
    Адрес:
    Минск
    ндаа.. соврал я маленька ))
     
  18. Koc

    Koc Активный пользователь

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
    стоп, вроде заработало в IE8.
     
  19. Cron

    Cron Активный пользователь

    С нами с:
    10 июл 2008
    Сообщения:
    289
    Симпатии:
    0
    Адрес:
    Украина, Сумы
    Ты исправил IE8? или javascript-код? :)
     
  20. V1T

    V1T Активный пользователь

    С нами с:
    7 окт 2008
    Сообщения:
    311
    Симпатии:
    0
    Адрес:
    Крым
  21. vital

    vital Активный пользователь

    С нами с:
    18 дек 2006
    Сообщения:
    162
    Симпатии:
    0
    Адрес:
    Минск
    ваше право

    напомню что представленный выше мною код является
    ps
    всё гениальное просто :wink:
     
  22. V1T

    V1T Активный пользователь

    С нами с:
    7 окт 2008
    Сообщения:
    311
    Симпатии:
    0
    Адрес:
    Крым
    vital, я ничего не говорю, спасибо