Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #211 (permalink)  
Старый 11.02.2018, 12:16
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

spinastr,
лень не лучший помощник в написании сайта и вашу лень я обслуживать не буду. Не копировать один в один верстку и стили предлагаемые, а читать и вникать, что это и как работает. А поняв применять у себя.

Нет стрелки вверху потому, что стиль перекрывается другим стелем в шапке.

Хотите сами втыкать стрелочки, на здоровье, я комментирую, а делайте сами.

Этой хрени Value > Previous не требуется, сервер уже вернул готовое в rate: 1 - курс вырос, 0 - курс упал.

Всяких функций в JS и прочей бодяги тоже не требуется - адресом куда будет помещен курс служат ключи json. Элемент текущего курса имеет класс current, предыдущего previous.

Удалите все стили что я писал, оставив только это:

.up {
    color: #0f0; /*зеленый цвет*/
}
  
.down {
    color: #f00;
}


А для этих классов что будут в шапке - белый, что в чем в вашей шапке - самостоятельно разобраться.

$.getJSON("чего-то там", function(data) {
    $.each(data, function(k, o) {
        $('.'+k).html("$ " + o.value + ' <b class=' + ['down','up'][o.rate] +'>' + ['▼','▲'][o.rate] +'</b>')
    })
});

Последний раз редактировалось laimas, 11.02.2018 в 13:20.
Ответить с цитированием
  #212 (permalink)  
Старый 11.02.2018, 16:01
Профессор
Отправить личное сообщение для spinastr Посмотреть профиль Найти все сообщения от spinastr
 
Регистрация: 02.05.2016
Сообщений: 390

laimas,

Спасибо, вам но я не лентяй, так как уже вторую неделю пытаюсь сделать курс. И в Вашем скрипте двое суток не спал и пытался понять. Просто говорю никогда не встречался с php и js. Знаю на 77% HTML и css.

<style>
.up {color: #0f0; /*зеленый цвет*/}
.down {color: #f00;}
</style>
 
<div class="ratehead">
<span class="current"></span>
</div>
 
<script>
$.getJSON("домен.ру", function(data) {
    $.each(data, function(k, o) {
        $('.'+k).html("$ " + o.value + ' <b class=' + ['down','up'][o.rate] +'>' + ['▼','▲'][o.rate] +'</b>')
    })
});
</script>




Что значит эта надпись и стрелки нету?

Не поленился, почитал тут. Понял что две проблемы может быть.

1. Функция без директивы return возвращает undefined.
2. Обращение к несуществующему свойству объекта также даст undefined.

А как что исправить, я не понимаю, подскажите в чём тут ошибка?

Последний раз редактировалось spinastr, 11.02.2018 в 16:14.
Ответить с цитированием
  #213 (permalink)  
Старый 11.02.2018, 16:28
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от spinastr
Знаю на 77% HTML и css.
А что же тогда мечетесь, давно уже можно было разобраться со стрелкой.

.имя родительского_класса_в_шапке .up:after {
    dispaly: block; /*или block!important; или ... найти, понять изменить, отладчик бразуера в помощь*/
    color: #fff; /*белый цвет*/
}


Тоже самое и для .down:after который в шапке. Вы даже не добавили в CSS стиль цвета для стрелки в шапке, это разве не лень, если знать на 77% HTML и css?

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<style>
.ratehead {
    background-color: #0164C6;
    color: #fff;
}
.ratehead .up, .ratehead .down {
    color: #fff;
}
</style>

<div class="ratehead">
<span class="current"></span>
</div>

<script>
//именно такое и получит Ajax
var data = {"current":{"date":"11.2.2018","value":58.17,"rate":1},"previous":{"date":"10.2.2018","value":57.67,"rate":1}};

//и вот тут данные этого объекта помещаются на свои места 
    $.each(data, function(k, o) {
        $('.'+k).html("$ " + o.value + ' <b class=' + ['down','up'][o.rate] +'>' + ['▼','▲'][o.rate] +'</b>')
    })
</script>


Все на месте?

Последний раз редактировалось laimas, 11.02.2018 в 16:49.
Ответить с цитированием
  #214 (permalink)  
Старый 11.02.2018, 16:56
Профессор
Отправить личное сообщение для spinastr Посмотреть профиль Найти все сообщения от spinastr
 
Регистрация: 02.05.2016
Сообщений: 390

laimas,

<style>
.up {color: #0f0; /*зеленый цвет*/}
.down {color: #f00;}
</style>

<div class="ratehead">
<span class="current"></span>
</div>

<script>
//именно такое и получит Ajax
var data = {"current":{"date":"11.2.2018","value":58.17,"rate":1},"previous":{"date":"10.2.2018","value":57.67,"rate":1}};

//и вот тут данные этого объекта помещаются на свои места 
    $.each(data, function(k, o) {
        $('.'+k).html("$ " + o.value + ' <b class=' + ['down','up'][o.rate] +'>' + ['▼','▲'][o.rate] +'</b>')
    })
</script>




Да, спасибо сейчас выглядит как я хотел.

Ещё вопрос:

1. Можно в подсказку при наведении вывести дату курса? Что бы не лазить на хост и не проверять.

2. Куда пропала строка с кодом где написан домен и почему работает без него?

$.getJSON("домен.ру", function(data) {

Последний раз редактировалось spinastr, 11.02.2018 в 16:59.
Ответить с цитированием
  #215 (permalink)  
Старый 11.02.2018, 16:59
Профессор
Отправить личное сообщение для spinastr Посмотреть профиль Найти все сообщения от spinastr
 
Регистрация: 02.05.2016
Сообщений: 390

Снова ошибка undefined

<script>
//именно такое и получит Ajax
$.getJSON("домен.ру", function(data) {


//и вот тут данные этого объекта помещаются на свои места 
    $.each(data, function(k, o) {
        $('.'+k).html("$ " + o.value + ' <b class=' + ['down','up'][o.rate] +'>' + ['▼','▲'][o.rate] +'</b>')
    })
});
</script>
Ответить с цитированием
  #216 (permalink)  
Старый 11.02.2018, 17:07
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,795

215+ сообщений в теме и так и не удалось решить 15-минутную задачу )

spinastr, undefined на месте "стрелочки" означает, что у вас "o.rate" не является целочисленным больше 0 и меньше или равно 1.
Ошибка в данных, выведите их в консоль и посмотрите, что вам вернул сервер.
Ответить с цитированием
  #217 (permalink)  
Старый 11.02.2018, 17:12
Профессор
Отправить личное сообщение для spinastr Посмотреть профиль Найти все сообщения от spinastr
 
Регистрация: 02.05.2016
Сообщений: 390

Сообщение от Nexus Посмотреть сообщение
215+ сообщений в теме и так и не удалось решить 15-минутную задачу )

spinastr, undefined на месте "стрелочки" означает, что у вас "o.rate" не является целочисленным больше 0 и меньше или равно 1.
Ошибка в данных, выведите их в консоль и посмотрите, что вам вернул сервер.
Я не понимаю, какая консоль, какой сервер?

Я сижу в инвалидной коляски у меня спастика в ногах уже устал, что за мучения?

Простите!
Ответить с цитированием
  #218 (permalink)  
Старый 11.02.2018, 17:14
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от spinastr
1. Можно в подсказку при наведении вывести дату курса? Что бы не лазить на хост и не проверять.
Можно, и для этого на сервер лазить не надо, даты курса уже есть в json. Как по наведению их показать, насколько я помню пример приводили. HTML средствами это делается просто:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<style>
.ratehead {
    background-color: #0164C6;
    color: #fff;
}
.ratehead .up, .ratehead .down {
    color: #fff;
}
</style>

<div class="ratehead">
<span class="current"></span>
</div>

<script>
//именно такое и получит Ajax
var data = {"current":{"date":"11.2.2018","value":58.17,"rate":1},"previous":{"date":"10.2.2018","value":57.67,"rate":1}};

//и вот тут данные этого объекта помещаются на свои места 
    $.each(data, function(k, o) {
        $('.'+k).html("$ " + o.value + ' <b class=' + ['down','up'][o.rate] +'>' + ['▼','▲'][o.rate] +'</b>').attr("title", o.date)
    })
</script>


О "красивеньких подсказках" искать и читать в сети, в частности тут. Это можно сделать?

Сообщение от spinastr
2. Куда пропала строка с кодом где написан домен и почему работает без него?
Никуда ничего не пропало, это пример для того чтобы он работал здесь на форме, поэтому просто разбор самого объекта.

Те кто не знают JS, используют jQuery, и ничего, не страшно. Пора начинать изучать. За три дня все не получится, но так и должно быть, учение требует и времени, и упорства.

Сообщение от spinastr
Снова ошибка
Открывать отладчик браузера и ....
Ответить с цитированием
  #219 (permalink)  
Старый 11.02.2018, 17:34
Профессор
Отправить личное сообщение для spinastr Посмотреть профиль Найти все сообщения от spinastr
 
Регистрация: 02.05.2016
Сообщений: 390

laimas,
1. tooltip - мне ненужно, просто вывести в

title="СЮДА ВЫВЕСТИ ДАТУ - Посмотреть курс валют"

.attr('title', data.Date +"- Посмотреть курс валют")


Совместить?


2. Открыл консоль и что там делать?

https://pp.userapi.com/c840434/v8404...OaNndEOmko.jpg
Ответить с цитированием
  #220 (permalink)  
Старый 11.02.2018, 17:47
Профессор
Отправить личное сообщение для spinastr Посмотреть профиль Найти все сообщения от spinastr
 
Регистрация: 02.05.2016
Сообщений: 390

Про подсказку понял:

$('.'+k).html("$ " + o.value + ' <b class=' + ['down','up'][o.rate] +'>' + ['▼','▲'][o.rate] +'</b>')
$('.'+k).html("$ " + o.value + ' <b class=' + ['down','up'][o.rate] +'>' + ['▼','▲'][o.rate] +'</b>').attr("title", o.date)

.attr("title", o.date)


Тут хранится дата из джексона o.date
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод контента в модалном окне, чтобы к нему можно было обратиться по ссылке decadent42 jQuery 3 11.04.2016 15:12
Преключатель валют alexmixaylov jQuery 7 21.10.2014 13:10
Проблема с выводом курса валют bubanay Элементы интерфейса 0 20.12.2013 20:42
Вывод переменных MasterHrust Javascript под браузер 4 03.08.2011 15:41
Вывод данных в Друпал 6 из MySQL, небольшая работа torquemada Работа 1 22.05.2011 17:05