Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.04.2018, 21:09
Новичок на форуме
Отправить личное сообщение для Alex00001 Посмотреть профиль Найти все сообщения от Alex00001
 
Регистрация: 06.04.2018
Сообщений: 2

Не могу разобраться с getelementsbyclassname
Ребят, только начинаю знакомиться с js. Помогите никак не могу понять почему не работает код. FF выдает ошибку
TypeError: $(...).getElementsByClassName is not a function pop_up.js:8:16

сам код:
$(document).ready(function () {
   $(".image").click (function () {
       var img = $(this);
       var src = img.attr('src');
       var scrt = $(window).scrollTop();
       $("body").append("<div class='popup'><div class='popup_bg'></div><img src='" + src + "' class='popup_img'/></div>");
       $(".popup").fadeIn(800);
       var s = $(document).getElementsByClassName("popup");
       for (i=0;i<s.length;i++){
           s[i].style.top = scrt+"px";
       }       
       $(".popup_bg").click (function () {
           $(".popup").fadeOut(800);
           setTimeout(function () {
               $(".popup").remove();
           }, 800);
       });
   }); 
});
Ответить с цитированием
  #2 (permalink)  
Старый 06.04.2018, 21:26
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Строка 8 должна быть

var s = $('.popup');
Ответить с цитированием
  #3 (permalink)  
Старый 06.04.2018, 21:28
Кандидат Javascript-наук
Отправить личное сообщение для sortarray Посмотреть профиль Найти все сообщения от sortarray
 
Регистрация: 19.09.2015
Сообщений: 117

laimas,
странно, а что возвращает $(document)?
Ответить с цитированием
  #4 (permalink)  
Старый 06.04.2018, 21:47
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Сообщение от sortarray
$(document)?
обьект jquery, где в ключе "0" находиться document

можно так
var s = $(document)[0].getElementsByClassName("popup");

но зачем?

Последний раз редактировалось рони, 06.04.2018 в 21:49.
Ответить с цитированием
  #5 (permalink)  
Старый 06.04.2018, 22:22
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Alex00001,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  body{
    position:relative;
  }

  .image{
    margin-top:1500px;
    width:300px;
  }

  .popup img{
    width:80%;
  }

  .popup_bg:after{
    content:"x";
    font-size:48px;
    margin-top:50px;
    display:block;
    text-align:right;
  }

  .popup{
    text-align:center;
    position:absolute;
  }
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  <script>
$(function() {
    $(".image").click(function() {
        $(".popup").remove();
        var src = this.src;
        var top = $(window).scrollTop();
        var popup = $("<div class='popup'><div class='popup_bg'></div><img src='" + src + "' class='popup_img'/></div>")
        .css({
            top: top
        }).appendTo("body").hide().fadeIn(800);
        $(".popup_bg", popup).click(function() {
            popup.fadeOut(800, function() {
                popup.remove();
            });
        });
    });
});
  </script>
</head>

<body>
<img src="http://okultureno.ru/upload/medialibrary/40e/bk_info_orig_75900_1474440457.jpg"  class="image" alt="">

</body>
</html>
Ответить с цитированием
  #6 (permalink)  
Старый 07.04.2018, 04:03
Новичок на форуме
Отправить личное сообщение для Alex00001 Посмотреть профиль Найти все сообщения от Alex00001
 
Регистрация: 06.04.2018
Сообщений: 2

Ребят, спасибо что так оперативно откликнулись.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу разобраться с валидатором форм ПавелСедой Общие вопросы Javascript 4 14.02.2017 18:22
не могу разобраться с форматом даты frolgp Элементы интерфейса 8 23.01.2016 08:18
Не могу разобраться kktak Элементы интерфейса 1 15.06.2015 08:44
Не могу разобраться с двумерным массивом pro_xaoc jQuery 6 10.06.2012 12:11
Не могу разобраться с setTimeout bazilio2010 Общие вопросы Javascript 3 14.01.2012 00:17