laimas,
Это сюда, читать, изучать, пробовать. Пример я привел, дальше сами. Спасибо вам! Уже почти всё сделано, как в текущий курс стрелку динамики вывести, уже устал сейчас ещё неделю сидеть придётся. ![]() просто знак доллара, цифры и стрелка динамики, зелёная вверх, красная вниз. |
Я не понимаю где тут стрелка что бы в первый блок поставить?
<div class="ratehead"> <span class="current"></span> </div> <div class="ratebox"> <span class="current"></span> <span class="previous"></span> </div> <script> $.getJSON("домен.ру", function(data) { $.each(data, function(k, o) { $('.'+k).text(o.value).addClass(['down','up'][o.rate]) }) }); </script> |
Все стили удалил, доллар пропал,
стрелок нет ![]() в самом начале форума кто всё без стилей прописавали и всё без стилей было, просто один div. Как так сделать? <script> $.getJSON("https://www.cbr-xml-daily.ru/daily_json.js", function(data) { var Value = data.Valute.USD.Value var Previous = data.Valute.USD.Previous function trend(Value, Previous) { if (Value > Previous) return '<b style="color:#00ff00;"> ▲</b>'; if (Value < Previous) return '<b style="color:#ff0000;"> ▼</b>'; return ''; } var trend = trend(data.Valute.USD.Value, data.Valute.USD.Previous); $('#usd').html("USD ЦБ " +data.Valute.USD.Value.toFixed(1) +trend); }); </script> |
Цитата:
content: "▲"; В элементы class="current" и class="previous" помещаются только курсы. Вникайте, в самим стилях видны стрелочки, а что это означает можете же поинтересоваться и узнать на htmlbook? Все, сами, не сложно разобраться по именам css правил, что к чему. |
spinastr,
достали вы уже всякой хренью смешивая одно с другим. Все, изучайте и не задавайте больше вопросов. |
laimas,
тогда какой смысл три дня сидели делали, а в итоге это в шапку вставить нельзя, |
laimas,
Осталось, только стрелку вывести ![]() |
Почему у вас видна стрелка?
Вчё у меня ошибка? |
Получается блок со стрелкой оборачивает блок с данными курса доллара
<div class="ratehead"> <span class="current"></span> </div> стиль стрелки .ratehead * { color: #fff; } .ratehead *:after { color: #fff; /*белый цвет стрелки*/ } А стрелки нету |
Может эти стрелки как то так прописать что бы не мучится куда стрелка пропала?
if (Value > Previous) return '<b style="color:#00ff00;"> ▲</b>'; 07 if (Value < Previous) return '<b style="color:#ff0000;"> ▼</b>'; |
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,
Спасибо, вам но я не лентяй, так как уже вторую неделю пытаюсь сделать курс. И в Вашем скрипте двое суток не спал и пытался понять. Просто говорю никогда не встречался с 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. А как что исправить, я не понимаю, подскажите в чём тут ошибка? |
Цитата:
.имя родительского_класса_в_шапке .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,
<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) { |
Снова ошибка 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> |
215+ сообщений в теме и так и не удалось решить 15-минутную задачу )
spinastr, undefined на месте "стрелочки" означает, что у вас "o.rate" не является целочисленным больше 0 и меньше или равно 1. Ошибка в данных, выведите их в консоль и посмотрите, что вам вернул сервер. |
Цитата:
Я сижу в инвалидной коляски у меня спастика в ногах уже устал, что за мучения? Простите! |
Цитата:
<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> О "красивеньких подсказках" искать и читать в сети, в частности тут. Это можно сделать? Цитата:
Те кто не знают JS, используют jQuery, и ничего, не страшно. Пора начинать изучать. За три дня все не получится, но так и должно быть, учение требует и времени, и упорства. Цитата:
|
laimas,
1. tooltip - мне ненужно, просто вывести в title="СЮДА ВЫВЕСТИ ДАТУ - Посмотреть курс валют" .attr('title', data.Date +"- Посмотреть курс валют") Совместить? 2. Открыл консоль и что там делать? https://pp.userapi.com/c840434/v8404...OaNndEOmko.jpg |
Про подсказку понял:
$('.'+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 |
Спасибо что мне помогаете, это очень ценная информация, но я не вриилансэр.
6 лет сам делаю сайт на юкоз и чему то учусь. Но: Те кто не знают JS, используют jQuery, В данной ситуации, кто не умеет строить, открывайте учебник и идите на объект. что за дом в результате получится? открыл я это и ... ? Может через год или два изучения смогу сам вывести стрелку? Подскажите пожалуйста что делать? |
Посидел почитал, как стрелку вывести почему ошибка? Что там не так и нехватает?
|
Цитата:
Если по уму, то курсы которые выводятся в боксе сразу должны отображать дату, а не два курса в две строки хрен знает какой за что. <script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> <style> .ratebox > * { display: block; } .ratebox .up { color: #0f0; } .ratebox .down { color: #f00; } .ratehead { background-color: #0164C6; color: #fff; } .ratehead .up, .ratehead .down { color: #fff; } </style> <div class="ratehead"> <span class="current"></span> </div> <div class="ratebox"> <span class="current"></span> <span class="previous"></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}}; //и вот тут данные этого объекта помещаются на свои места $(".current,.previous").each(function() { var a = $(this), b = this.className, c = a.parent().hasClass('ratebox'); a.html((c ? '<b>'+data[b].date+'</b>' : '') + " <b>$ " + data[b].value + '</b> <b class=' + ['down','up'][data[b].rate] +'>' + ['▼','▲'][data[b].rate] +'</b>') .attr("title", !c ? data[b].date : "") }) </script> |
laimas,
Все запуталось. Снпчало все работало, был курс. но не было стрелки. Теперь в 15 строчке прописаны готовые значения. А курса с jsona там нет. Все работало, только стрелку вывести оставалось. Теперь стрелка есть, а курса нет |
Цитата:
Не надо искать оправданий, надо изучать. У каждого здесь есть и работа, и свои заботы, прыгать и скакать вокруг вас длительное время ни кто не станет. Учитесь добывать нужную информацию и изучать ее. Хрен знает что у вас творится на сайте и почему нет стрелки. Она определяется цифрой 1 или 0, которые у курса находятся в json - "rate":1. Я писал об этом? Писал, сложно это проверить в json что отдает сервер? Если они есть, то и проблем не должно быть ибо они только индексы для выборки из массивов: ['down','up'][data[b].rate] - это добавит класс 'down' или 'up' стрелке, а значит определит ее цвет. ['▼','▲'][data[b].rate] - это определить символ стрелки. Попробуйте догадаться какая стрелка будет выбрана и имя класса из этих массивов при значении data[b].rate равном 0 и 1. |
То есть у меня на сайте проблема в внутри? Какой то скрипт и не отображается стрелка?
|
Я не знаю что еще можно рассказывать. Как получаются стрелки и их цвет, рассказано. Они могут не отображаться, если только сервер вернет в json пустые значения у rate. Запрос к серверу показывает, что он отдает все о курсах, включая и динамику курса.
А вот что вы там вытворяете у себя что пропадает то одно, то другое, никто гадать не станет. |
laimas,
ВОТ МОЙ КОД он работает, только нету стрелки, <style> .up {color: #0f0; /*зеленый цвет*/} .down {color: #f00;} </style> <div class="ratehead"> <span class="current"></span> </div> <script> //именно такое и получит Ajax $.getJSON("домен.ру", function(data) { //и вот тут данные этого объекта помещаются на свои места $.each(data, function(k, o) { $('.'+k).html("$ " + o.value + ' <b class=' + ['down','up'][o.rate] +'>' + ['▼','▲'][o.rate] +'</b>').attr("title", o.date) }) }); </script> <div class="ratehead"> <span class="current"></span> </div> |
23 страницы, ну вы блин даете, есть ведь готовые модули
|
j0hnik,
Пожалуйста подскажите? Я уже устал |
|
j0hnik,
спасибо, но мне нужно с ЦБ РФ и чтобы в дизайн подошло, всё работает только стрелок нет вот https://pp.userapi.com/c830309/v8303...twzbhaRUr8.jpg |
laimas,
что этим примером записывать в переменную дата var data = {"current":{"date":"11.2.2018","value":58.17,"rate":1},"previous":{"date":"10.2.2018","value":57.67,"rate":1}}; |
Может у меня библиотека не подходит ?
jquery-1.7.2.js |
Ничего не записывать, нельзя с форума обратиться к вашему серверу за курсом валюты, и чтобы показать работу кода, он написан без:
$.getJSON("http://....ru", function(data) { а только что внутри этой функции. Поэтому для работы примера на форуму используется объект, под тем же именем, что и функции: var data = И объект в примере, это как раз то, что и возвращает ваш сервер, и все на месте, включая и то, что определяет стрелки {"current":{"date":"11.2.2018","value":58.17,"rate":1},"previous":{"date":"10.2.2018","value":57.67,"rate":1}} Вот что в этом может быть непонятного, что еще тратить время и на эти пояснения? |
Да 1.7, это очень допотопное, подключайте jQury например так
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> тут актуальная всегда |
Цитата:
или на 13-й строчке напишите console.log(data), что возвращает? |
Цитата:
|
laimas,
кинуть ссылку на хост? |
Цитата:
$.getJSON("http://.....ru", function(data) { console.log(data); //эту строку добавить В отладчике браузера в консоли будет что-то? Должен быть вот этот объект {"current":{"date":"11.2.2018","value":58.17,"rate ":1},"previous":{"date":"10.2.2018","value":57.67, "rate":1}} В отладчике во вкладке сеть тоже ответ сервера посмотреть. |
Часовой пояс GMT +3, время: 11:57. |