Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 15.08.2016, 18:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от Stay_Strong
браузер ругается на строку
значит вы изменили место input у себя в html
Ответить с цитированием
  #22 (permalink)  
Старый 15.08.2016, 18:10
Аватар для Stay_Strong
Аспирант
Отправить личное сообщение для Stay_Strong Посмотреть профиль Найти все сообщения от Stay_Strong
 
Регистрация: 14.10.2015
Сообщений: 37

Сообщение от рони Посмотреть сообщение
значит вы изменили место input у себя в html
Понял, между ними еще есть один див просто. Он был изначально, просто он не нужен был, я его не давал.
<div class="product-cart__price">Цена: 
 <span class="price-val" data-price="890,821,751,709,695,688">890</span>
<div class="product-cart__note"> 
<span>В зависимости от количества цена может изменяться</span>
</div>
<div class="product-cart__number number"><span class="minus">&ndash;</span>
<input class="count" type="text" value="1"><span class="plus">+</span>
</div>
<div class="product-cart__buy"> <span>Заказать</span></div>

Последний раз редактировалось Stay_Strong, 15.08.2016 в 18:16.
Ответить с цитированием
  #23 (permalink)  
Старый 15.08.2016, 18:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Stay_Strong,
если есть проблема, нужен полный html
Ответить с цитированием
  #24 (permalink)  
Старый 15.08.2016, 18:24
Аватар для Stay_Strong
Аспирант
Отправить личное сообщение для Stay_Strong Посмотреть профиль Найти все сообщения от Stay_Strong
 
Регистрация: 14.10.2015
Сообщений: 37

Сообщение от рони Посмотреть сообщение
Stay_Strong,
если есть проблема, нужен полный html
Полный HTML:
<div class="product-cart__price">Цена: 
 <span class="price-val" data-price="890,821,751,709,695,688">890</span>
<div class="product-cart__note"> 
<span>В зависимости от количества цена может изменяться</span>
</div>
<div class="product-cart__number number"><span class="minus">&ndash;</span>
<input class="count" type="text" value="1"><span class="plus">+</span>
</div>
<div class="product-cart__buy"> <span>Заказать</span></div>

Вот этот кусок кода не позволяет правильно взять count
<div class="product-cart__note"> 
<span>В зависимости от количества цена может изменяться</span>
</div>
Ответить с цитированием
  #25 (permalink)  
Старый 15.08.2016, 18:32
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от Stay_Strong
Полный HTML:
не хватает тега
Ответить с цитированием
  #26 (permalink)  
Старый 15.08.2016, 18:33
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Stay_Strong,
var next = $(".product-cart__number",el);
Ответить с цитированием
  #27 (permalink)  
Старый 15.08.2016, 18:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Stay_Strong,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  <script>
$(function() {
    $(".product-cart__price").each(function(indx, el) {
        var pr = $(".price-val", el);
        var data = pr.data("price");
        var next = $(".product-cart__number",el);
        var count = $(".count", next)[0];
        var num = +count.value;
        next.on("click", ".minus, .plus", function() {
            num += $(this).is(".minus") ? -1 : 1;
            num < 0 && (num = 0);
            count.value = num;
            var price = data[0];
            if (num >= 20) price = data[1];
            if (num >= 50) price = data[2];
            if (num >= 100) price = data[3];
            if (num >= 500) price = data[4];
            if (num >= 1000) price = data[5];
            pr.text(num * price)
        })
    })
});
  </script>
</head>

<body>
<div class="product-cart__price">Цена:
 <span class="price-val" data-price="[890,821,751,709,695,688]">890</span>
<div class="product-cart__note">
<span>В зависимости от количества цена может изменяться</span>
</div>
<div class="product-cart__number number"><span class="minus">&ndash;</span>
<input class="count" type="text" value="1"><span class="plus">+</span>
</div>
<div class="product-cart__buy"> <span>Заказать</span></div>
</div>

</body>
</html>
Ответить с цитированием
  #28 (permalink)  
Старый 15.08.2016, 18:37
Аватар для Stay_Strong
Аспирант
Отправить личное сообщение для Stay_Strong Посмотреть профиль Найти все сообщения от Stay_Strong
 
Регистрация: 14.10.2015
Сообщений: 37

Сообщение от рони Посмотреть сообщение
Stay_Strong,
var next = $(".product-cart__number",el);
Почему не хватает тэга, все на месте:
<div class="product-cart__price">Цена: 
      <span class="price-val" data-price="890,821,751,709,695,688">890</span>
      <span class="ruble"> руб.</span></div>
    <div class="product-cart__note"> 
      <span>В зависимости от количества цена может изменяться</span>
    </div>
    <div class="product-cart__number number"><span class="minus">&ndash;</span>
      <input class="count" type="text" value="1"><span class="plus">+</span>
    </div>
    <div class="product-cart__buy"> <span>Заказать</span></div>
Ответить с цитированием
  #29 (permalink)  
Старый 15.08.2016, 18:45
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Stay_Strong,
тогда
var next = $(".product-cart__number").eq(indx);
Ответить с цитированием
  #30 (permalink)  
Старый 15.08.2016, 23:10
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

рони, вдумайся в что ты пишешь:

if (num >= 20) price = data[1];
if (num >= 50) price = data[2];
if (num >= 100) price = data[3];
if (num >= 500) price = data[4];
if (num >= 1000) price = data[5];


браузер, не вспотеет, конечно, но когда num у тебя 1000 или больше, то выполняются тотально все условия. То есть это не код, а хак.

Ну и самая мякотка, что ТС ниасилил передачу данных без хтмля и уже сейчас накинул на себя удавку. Когда ему начальство скажет поменять скидки, на отдельно взятые или группы товаров, у него все волосы из носа вылезут от ужаса. И придется ему делать как дядя уоррен баффет прописал.

ЗЫ Причем начальство само зависит от коньюктуры, попросту от конкурентов. Конкуренты нарисуют скидку за 150, ТС полезет в свою Модиксную админку, опа, а хрена-то количество не передается в скрипт. Попух. Один специалист хакает, второй хардкодит данные из БД, молодцы, чо, спелись. Но свободный рынок вас научит как свободу любить.

Последний раз редактировалось warren buffet, 15.08.2016 в 23:15.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразовать код JQUERY в JS nattt Общие вопросы Javascript 2 30.04.2014 08:01
Как оптимизировать этот код, чтоб не повторяться?(JS, jQuery, HTML) Blondinka Элементы интерфейса 2 22.03.2014 12:59
Код Popup, помогите разобраться Azmir Javascript под браузер 3 21.10.2013 12:31
Не работает jquery код на сайте Gvozdb jQuery 1 20.03.2013 11:57
Помогите код оптимизировать. Suharik Events/DOM/Window 2 27.05.2010 11:59