Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   помогите начинающему. Код легкий) (https://javascript.ru/forum/project/60597-pomogite-nachinayushhemu-kod-legkijj.html)

arnoldson 09.01.2016 20:32

помогите начинающему. Код легкий)
 
Всем привет :)
Помогите реализовать задуманную идею.

Увидел интересную идею вот на этом сайте (beeg.com !!Это не реклама просто хочу показать суть моей проблемы. ) На этом сайте отлично сделали возможность просмотров видео,сразу же на этой странице, то-есть при щелчке на картинку ,тут ЖЕ открывается проигрыватель и можно смотреть видос.
В общем я хочу эту идею сплагиатить на свой сайт. Вот мой код :

<body>

<div id="parentElement" style="max-width: 1000px " >

<div><button id="close" onClick="foo()">
<img type="button" src="mazda.jpg" width="150 px" height="100px"></div></button>
//таких дивов с картинкой (в которых iframe с видео)много на странице.

<button id="clos" onClick="dels()" >close video</button>

</body>

Теперь скрипт:

function foo() {
// Получаем ссылку на элемент в который мы хотим добавить новый элемент
var parentElement = document.getElementById('parentElement');
// Получаем ссылку на первый дочерний элемент
var theFirstChild = parentElement.firstChild;

// Создаем новый элемент, который будем добавлять
var elem = document.createElement("if");
elem.innerHTML = '<iframe src="тут ссылка на видео" width=510 height=400 scrolling=no id="ass" "></iframe>';

// Вставляем новый элемент перед первым дочерним элементом
parentElement.insertBefore(elem, theFirstChild);


function dels() {
var image_x = document.getElementById('ass');
image_x.parentNode.removeChild(image_x);

}


Проблема в следующем,обьект создаеться и открываеть (тоесть iframe с видео) после третьего diva, а нужно что б видео открывалось над картинкой как это реализовано на том сайте.

Прошу помощи,и p.s JS я только начал изучать.
У кого есть идеи,внимательно слушаю):)

clecar 10.01.2016 03:00

Посмотри как я это реализовал на своём сайте. Просто со скрипта меняю src. Страницу с диафильмами посмотри. Да почти на всех страницах есть. Хотя бы на главной включить клип. <iframe src="тут ссылка на видео" width=510 height=400 scrolling=no id="ass" "></iframe>'; Этого достаточно. document.all.ass.src=(новый адрес)

clecar 10.01.2016 03:01

Адрес моего сайта http://clecar.ru/

clecar 10.01.2016 03:12

Да внимательней прочитал тебе нужно чтобы и картинка осталась и видео появилось рядом. Тогда присваивай новый id и задавай координаты.

arnoldson 10.01.2016 15:20

задавай координаты ? Что за координаты,как называються скажи,я прочту про них...???

Дима1892 10.01.2016 15:55

Здравствуйте! Извиняюсь что не по теме пишу, я тут совсем новичок так что не судите строго, не знаю куда писать точно! У меня такой вопрос кто может помогите пожалуйста! Вот пример, есть форма регистрации в неё клиент вводит свои данные, вот как сделать так что когда он уже зашел в кабинет после регистрации данные которые он вводил при регистрации уже были автоматически заполнены в его кабинете к примеру его ИМЯ, ФАМИЛИЯ, ТЕЛЕФОН, СТРАНА, СКАЙП И Т.д чтоб мне и ему не пришлось самолично это вводить, как такое реализовать?

arnoldson 10.01.2016 17:11

php + mysql тебе в помощь.
Или сам читаешь и учишься, или на фри ланс ищи человека который за доп.плату тебе это сделает.

ruslan_mart 10.01.2016 17:13

.video {
   cursor: pointer;
   height: 100px;
   width: 150px;
}
.videobox iframe {
   border: none;
   height: 480px;
   width: 640px;
}


<div class="videobox"></div>

<img class="video" data-video="ссылка на видео 1" src="img-1.jpg">
<img class="video" data-video="ссылка на видео 2" src="img-2.jpg">
<img class="video" data-video="ссылка на видео 3" src="img-3.jpg">
<img class="video" data-video="ссылка на видео 4" src="img-4.jpg">
<img class="video" data-video="ссылка на видео 5" src="img-5.jpg">


window.addEventListener('DOMContentLoaded', function() {
    var box = document.querySelector('.videobox'),
        i, videos = document.querySelectorAll('.video');

    function createFrame() {
        var frame = document.createElement('frame');
        frame.name = 'video_' + Date.now();
        frame.scrolling = 'no';
        frame.src = this.dataset.video;
        if(box.firstChild) {
            box.removeChild(box.firstChild);
        }
        box.appendChild(frame);
    };

    for(i = 0; i < videos.length; i++) {
        videos[i].onclick = createFrame;
    }
});

Дима1892 10.01.2016 17:29

Это для меня вы написали?

Дима1892 10.01.2016 17:32

Но вот где именно читать а точнее что именно ведь там очень много всего и жизни не хватит что все это изучить, мне вот только интересует конкретная вещь не более

ruslan_mart 10.01.2016 17:35

Дима1892, нет, не Вам. Так Вы же данные как-то отправляете? Почему бы их просто не вывести где нужно?
<input name="login" value="<?=$_POST['login']?>">

laimas 10.01.2016 17:41

Цитата:

Сообщение от Дима1892
Но вот где именно читать а точнее что именно ведь там очень много всего и жизни не хватит что все это изучить

Да вроде бы тут все живые и им не по сотни лет, и хватает на изучение времени в жизни. )

Не задавайте впредь своих вопросов в чужих темах, создавайте свою. Что качается ответа на ваш вопрос, то данные пользователя хранятся в базе, под уникальным идентификатором, который присваивается пользователю при его регистрации. При входе на сайт пользователь определяется в базе по логину и при условии верного пароля, а в дальнейшем все действия можно производить по его идентификатору, в частности, при входе на страницу личного кабинета в базе выбираются все данные о нем и помещаются как значения в поля формы.

arnoldson 10.01.2016 18:24

К сожаление не работает. Картинка остаеться на месте,а видео проигрывается.
Но,мне удалось достичь близкого результат с помощью css, а именно прописав стили для iframe
position:relative;
top: 50px;

Но при скролинге страницы вниз, видео остаеться проигрываться вверху. Вобщем пошел читать координаты в JS )

arnoldson 10.01.2016 21:46

И так теперь код такой.
function foo() {
// Получаем ссылку на элемент в который мы хотим добавить новый элемент
var parentElement = document.getElementById('parentElement');
// Получаем ссылку на первый дочерний элемент
var theFirstChild = parentElement.firstChild;

// Создаем новый элемент, который будем добавлять
var elem = document.createElement('if');
elem.innerHTML ='<iframe id=ass src="http://flashservice.xvideos.com/embedframe/17197675" frameborder=0 width=100% height=400 scrolling=no></iframe>';



// Вставляем новый элемент перед первым дочерним элементом
parentElement.replaceChild(elem, theFirstChild);




//document.body.appendChild(elem);


}

function dels() {
var image_x = document.getElementById('ass');
image_x.parentNode.removeChild(image_x);

}

Осталось только открыть iframe не в верху,а перед картинкой. В коде у нас указан :
// Получаем ссылку на первый дочерний элемент
var theFirstChild = parentElement.firstChild;

а вот КАК сделать чтоб мы открывали не перед первым дочерним а над предыдущим дочернем divом ?

clecar 10.01.2016 22:24

Главное в этом деле не учится. А литературу читай для начинающих.

arnoldson 10.01.2016 22:26

прочитал уже,вот теперь практикуюсь.

Дима1892 11.01.2016 14:47

Как с помощью одного файла заменять данные во всех сайтах, помогите пожалуйста разобраться, как сделать так, чтобы Ваш новый партнѐр получил в распоряжение автоматизированную машину по рекрутированию? т.е когда заполняешь форму заявки на сайте - создается файл с данными, из которого потом сайт берет эти данные и размещает их в нужных графах. Если возможно дайте пожалуйста пошаговую инструкция настройки автоматизации для нового партнёра

arnoldson 12.01.2016 15:03

ParEL.replaceChild(elem, ParEL.children[9]);

открывает видео перед 9 элементов,как сделать чтоб открывалось над картинкой ? :-/

clecar 12.01.2016 17:59

position:relative; чем отличается от position: absolute;?

Дима1892 12.01.2016 20:41

clecar,
ну вот тебе пример, создай обычный блок div class="wrapper" 300 на 300px и дай ему рамку border: 1px solid black, внутри этого блока сделай ещё один маленький блок к примеру 100 на 100px и тоже задай для него рамку чтоб было видно, и маленькому блоку задай:
position: absolute;
top:50px;
left:50px;
в таком случае отступы будут считаться от окна браузера не от блока wrapper, но если ты задашь блоку wrapper position:relative то маленький блок будет считать отступы относительно блока wrapper, а лучше не использовать относительное и абсолютное позиционирование, лучше использовать margin, так намного удобнее как для статического сайта так и для адаптивного

это в HTML файле

<div class="wrapper"
<div class="main"></div>
</div>


это в CSS файле

*{
padding:0; margin:0;
}

.wrapper{
margin:0 auto;
height:300px;
width:300px;
border: 1px solid black;
- с начала посмотри без, а потом поставить position:relative; чтоб увидеть результат
}

.main{
height:100px;
width:100px;
border:1px solid yellow;
position: absolute;
top:50px;
left:50px;
}

arnoldson 12.01.2016 21:26

релатив оставляет обьект в ОБЩЕМ потоке, абсолют же нет.
Но я пробовал и этот метод, все равно не ТО !!! ))

Дима1892 12.01.2016 21:34

ну я так то для другого человека писал это)

clecar 18.01.2016 18:44

А я для arnoldson. Не понимаю проблему.


Часовой пояс GMT +3, время: 06:35.