Ответы пользователя по тегу JavaScript
  • Как загрузить исходный код страницы?

    Petroveg
    @Petroveg
    Миром правят маленькие с#@&ки
    Интерпретатор JS не может запуститься до старта обработки кода парсером и исходный код вам не получить в точности, каким он есть. Скрипт в примере уважаемого @iiil сможет получить только заново сериализованный результат десериализации исходного кода. К примеру, результат для IE8 для этого примера:

    Какой-то код
    <HEAD><META content="IE=8.0000" http-equiv="X-UA-Compatible">
    
    <META charset=UTF-8>
    <META name=robots content=noindex><LINK href="http://codepen.io/iiil/pen/qtFpr" rel=canonical>
    <STYLE></STYLE>
    </HEAD>
    <BODY>
    <DIV>Какой-то код</DIV><PRE></PRE>
    <SCRIPT src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></SCRIPT>


    Понятно, что полагаться на совпадение реально исходного кода и того, во что он превратился в результате двойной операции, явно не стоит. А главное, смысл действия не совсем понятен.
    Ответ написан
    2 комментария
  • Как ассинхронно сменить картинку у маркера на яндекс картах?

    Petroveg
    @Petroveg
    Миром правят маленькие с#@&ки
    Ответ — пресеты. Создаёте, сохраняете (как видно, объекты практически аналогичны и их нужно просто клонировать, меняя один параметр). А дальше — что захотите. Пресетов может быть сколько угодно с любыми именами.

    Update: По молчаливой просьбе собеседника добавил сторонние элементы

    var points = [
    		[55.831903,37.411961],
    		[55.763338,37.565466],
    		[55.763338,37.565466],
    		[55.744522,37.616378],
    		[55.780898,37.642889]
    	],
    	markers = {};
    
    ymaps.ready(function () {
    	ymaps.option.presetStorage.add('custom#default', {
    		iconLayout: 'default#image',
    		iconImageHref: 'marker.png',
    		iconImageSize: [30, 40],
    		iconImageOffset: [-15, -40],
    		iconImageClipRect: [
    			[0, 30],
    			[30, 70]
    		],
    		hideIconOnBalloonOpen: false
    	});
    	ymaps.option.presetStorage.add('custom#active', {
    		iconLayout: 'default#image',
    		iconImageHref: 'marker.png',
    		iconImageSize: [30, 40],
    		iconImageOffset: [-15, -40],
    		iconImageClipRect: [
    			[0, 70],
    			[30, 110]
    		],
    		hideIconOnBalloonOpen: false
    	});
    
    	var myMap = new ymaps.Map('map', {
    			center: [55.751574, 37.573856],
    			zoom: 9
    		});
    
    	for (var i = 1; i <= points.length; i++) {
    		markers['id' + i] = new ymaps.Placemark(
    			points[i - 1],
    			{
    				hintContent: 'Какая красивая метка...'
    			},
    			{
    				preset: 'custom#default'
    			}
    		);
    		$('<a href="#" data-type="marker" data-id="id' + i + '">').html(i + '-я метка').appendTo($(document.body));
    	}
    
    	placemark.events.add('click', function (e) {
    		changeMarker(e.get('target'));
    	});
    
    	myMap.geoObjects.add(placemark);
    });
    
    function changeMarker (marker) {
    	marker.options.set('preset', {
    		preset: 'custom#active'
    	});
    }
    
    $(document).on('click', 'a[data-id][data-type="marker"]', function (e) {
    	e.stopPropagation();
    	e.preventDefault();
    	changeMarker(markers[$(this).data('id')]);
    });


    Метка тут такая 8542c38cbe6a410f901a3adffe1974b2.png
    Ответ написан
    4 комментария
  • Как и с помощью каких технологий можно создать конструктор-редактор?

    Petroveg
    @Petroveg
    Миром правят маленькие с#@&ки
    Вариантов, кроме Flash (и пускай горит он в аду), собственно два.

    1. HTML + CSS + SVG + JS
    Наиболее привлекательный, но нужно знать SVG, CSS 3 и понимать, например, те же трансформации (как получать матрицу, перемножать их etc.). Про старых ослов забыть сразу (версия 9 и ниже).

    2. HTML + JS (Canvas)
    Исключительно программирование и ещё раз оно.
    Ответ написан
  • Проблема с подчеркиванием javaskript

    Petroveg
    @Petroveg
    Миром правят маленькие с#@&ки
    Не нужно ничего красить и подчёркивать в скриптах — для этого есть смена классов.

    Если же речь про динамическое создание правил CSS, то и здесь не нужно ничего делать с помощью css(). Нужно создавать их грамотно через коллекцию Stylesheets.
    Ответ написан
    Комментировать