Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Замена текста по #ссылке (https://javascript.ru/forum/css-html/64480-zamena-teksta-po-ssylke.html)

sim4ik-one 14.08.2016 21:26

Замена текста по #ссылке
 
Добрый день, есть к примеру сайт - site.ru, в нем текст, "Ваш нужно?", в html это будет к примеру выглядеть так:
<div class="pampam">Вам нужно<span id="zamena"></span>?</div>

Что нужно, на сайт к примеру переходят по ссылке site.ru/#pivko
и нужно, что бы если перешли по этой ссылке, в span под id "zamena" встало слово "Пивко"
Как это сделать даже не представляю, подскажите, может кто видел когда-то скриптик :)

sim4ik-one 15.08.2016 00:24

Нашел вот скрипт:
var text = ' ' + location.href.match(/#([\s\S]+)$/)[1];
document.getElementById('zamena').textContent = text;

Не могу вот немного разобраться с ним
вставил его на сайт, вродь все работает, немного переделал:
$(document).ready(function() {
    var text = ' ' + location.href.match('/#australia')[1];
    document.getElementById('zamena').innerHTML = ' В АВСТРАЛИЮ';
    var austria = ' ' + location.href.match('/#austria')[1];
    document.getElementById('zamena').innerHTML = ' В АВСТРИЮ';
    var england = ' ' + location.href.match('/#england')[1];
    document.getElementById('zamena').innerHTML = ' В АНГЛИЮ';
});

То-есть, если ссылка = "#australia" то выводится текст "В АВСТРАЛИЮ"
Если функция одна то все работает, а вот так не работает, количество стран около 40
подскажите как правильно сделать

ksa 15.08.2016 10:19

Цитата:

Сообщение от sim4ik-one
нужно, что бы если перешли по этой ссылке, в span под id "zamena" встало слово "Пивко"

Как вариант...
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
$(function(){
	var hash=window.location.hash;
	hash=hash.replace(/#/,'');
	var obj={
		'pivko': 'Пивко',
		'vodka': 'Водка',
		'zakuska': 'Закуска'
	};
	var val=obj[hash] || 'Фик знает чего';
	$('#zamena').text(val);
});
</script>
</head>
<body>
<div class="pampam">Вам нужно <span id="zamena"></span>?</div>
</body>
</html>

sim4ik-one 15.08.2016 11:35

ksa, спасибо!))
вот еще такой вариант помогли сделать, может кому понадобится:
$(document).ready(function() {
    var text = location.href.match(/#([\s\S]+)$/)[1];
    var zamena = document.getElementById('zamena');
    if(text && text == 'australia') zamena.innerHTML = ' В АВСТРАЛИЮ';
    else if(text && text == 'austria') zamena.innerHTML = ' В АВСТРИЮ';
    else if(text && text == 'england') zamena.innerHTML = ' В АНГЛИЮ';
});

ksa 15.08.2016 11:36

sim4ik-one, вариант с объектом более компактен... ;)


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