Используя js onclick на одну кнопку, чтобы вставить ссылку в другую - PullRequest
0 голосов
/ 12 сентября 2018

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

Ниже мой текущий код:

<div class="container">
<div class="jumbotron" style="background-color:#000000 !important;">
<img id="myImage" src="images/closed.png" style="width:100%">
<p id="texthere"></p>
<div class="container">
<div class="row">
    <div class="col">
        <button onclick="document.getElementById('myImage').src='images/open.png'" class="btn btn-primary active btn-block">Open Eyes</button>
    </div>
<div class="col">
    <button onclick="document.getElementById('myImage').src='images/closed.png'"class="btn btn-primary active btn-block">Close eyes</button>
</div>
</div>
</div>

Заранее благодарен за помощь.

* Отредактировано, чтобы уточнить иставить как вопрос.

Ответы [ 2 ]

0 голосов
/ 12 сентября 2018

Хотя есть много способов сделать то, что вы хотите, не зная, какие у вас есть навыки программирования и что вы хотите видеть на экране, возможно, вам поможет такая структура.Замените ваши текущие обработчики onclick на КНОПКИ:

<button id="open" class="btn btn-primary active btn-block">Open Eyes</button>
<button id="close" class="btn btn-primary active btn-block">Close eyes</button>

<script>
document.getElementById("open").addEventListener("click", function() {
    changeState('open');
});

document.getElementById("close").addEventListener("click", function() {
    changeState('closed')
});

function changeState(state) {
    document.getElementById("myImage").src = 'images/' + state + '.png';
    var new_para = document.createElement("p");
    var new_link = document.createElement("a");
    new_link.setAttribute("href", "https://www.google.com/search?" + state);
    var new_link_text = document.createTextNode("Search for '" + state + "'");
    new_link.appendChild(new_link_text);
    new_para.appendChild(new_link);
    document.body.appendChild(new_para);
}
</script>
0 голосов
/ 12 сентября 2018

Думаю, вы не уверены, как работают HTML-ссылки. В HTML есть тег a для элементов, по которым пользователь может перейти по другому URL-адресу. (Хуже) альтернатива заключается в использовании обработчика onclick для перенаправления пользователя путем установки значения window.location.

Чтобы создать кнопку, которая создает ссылку на странице, поместите тег script внизу тела, который прикрепляет слушателя к кнопке, которая при вызове помещает ссылку на страницу.

<script type="text/javascript">
    var button = document.getElementById('my-button'); // This button has to exist.
    button.addEventListener('click', function() {
        var link = document.createElement('a');
        link.href = 'google.com'; // Or wherever you want the link to point.
        document.body.appendChild(link);
    });
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...