Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.02.2010, 19:03
Новичок на форуме
Отправить личное сообщение для Peresmeshnik Посмотреть профиль Найти все сообщения от Peresmeshnik
 
Регистрация: 28.02.2010
Сообщений: 3

Присваивание style с помощю javascript
Привествтую! Я уже совсем измучился поисками ответа и не могу никак понять как мне для данного кода выставить значение отступа (margin-right например) для изображения, которое вставляется на страницу и как мне создать условие, что если выравнивание left, то margin-right = "10px", а если right, то margin-left = "10px"?
/* START CONFIG */
var nicImageOptions = {
	buttons : {
		'image' : {name : 'Добавить изображение', type : 'nicImageButton', tags : ['IMG']}
	}
	
};
/* END CONFIG */

var nicImageButton = nicEditorAdvancedButton.extend({	
	addPane : function() {
		this.im = this.ne.selectedInstance.selElm().parentTag('IMG');
		this.addForm({
			'' : {type : 'title', txt : 'Добавить/Ред. изображение:'},
			'src' : {type : 'text', txt : 'URL (http://…)', 'value' : '', style : {width: '150px'}},
			'alt' : {type : 'text', txt : 'Комментарий (alt)', style : {width: '150px'}},
			'align' : {type : 'select', txt : 'Выравнивание', options : {none : 'По умолчанию','left' : 'Лево', 'right' : 'Право'}}
		},this.im);
	},
	
	submit : function(e) {
		var src = this.inputs['src'].value;
		if(src == "" || src == "http://") {
			alert("Вы должны вставить URL изображения для вставки");
			return false;
		}
		this.removePane();

		if(!this.im) {
			var tmp = 'javascript:nicImTemp();';
			this.ne.nicCommand("insertImage",tmp);
			this.im = this.findElm('IMG','src','style',tmp);
		}
		if(this.im) {
			this.im.setAttributes({
				src : this.inputs['src'].value,
				alt : this.inputs['alt'].value,
				align : this.inputs['align'].value
			});
		}
	}
});

Подскажите пожалуйста!
Ответить с цитированием
  #2 (permalink)  
Старый 28.02.2010, 19:29
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Хоть бы показали, что это за редактор такой nic, и что вы там пытались сделать, но не получилось. Выдранный кусок кода команды ничего не показывает.
Ответить с цитированием
  #3 (permalink)  
Старый 28.02.2010, 19:32
Новичок на форуме
Отправить личное сообщение для Peresmeshnik Посмотреть профиль Найти все сообщения от Peresmeshnik
 
Регистрация: 28.02.2010
Сообщений: 3

Вот ссылка на этот редактор, я использую его для друпала, но вот пытаюсь его "допилить" до приемлемого состояния.

А пытался я в этот код вставить строчку что-то типа:
setStyle({margin-right : '10px'})

вот так:

if(this.im) {
	this.im.setAttributes({
		src : this.inputs['src'].value,
		alt : this.inputs['alt'].value,
		align : this.inputs['align'].value,
		setStyle({margin-right : '10px'})
	});
}

Последний раз редактировалось Peresmeshnik, 28.02.2010 в 19:37.
Ответить с цитированием
  #4 (permalink)  
Старый 28.02.2010, 20:09
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

submit : function(e) {
		var src = this.inputs['src'].value;
		if(src == "" || src == "http://") {
			alert("You must enter a Image URL to insert");
			return false;
		}
		this.removePane();

		if(!this.im) {
			var tmp = 'javascript:nicImTemp();';
			this.ne.nicCommand("insertImage",tmp);
			this.im = this.findElm('IMG','src',tmp);
		}
		if(this.im) {
			this.im.setAttributes({
				src : this.inputs['src'].value,
				alt : this.inputs['alt'].value,
				align : this.inputs['align'].value
			});
*!*
			if ((/left|right/).test(this.inputs['align'].value)) {
				var style = {};
				style["margin" + (this.inputs['align'].value == "left" ? "Right" : "Left")] = "10px";
				this.im.setStyle(style);
			}
*/!*
		}
	}
Ответить с цитированием
  #5 (permalink)  
Старый 28.02.2010, 21:49
Новичок на форуме
Отправить личное сообщение для Peresmeshnik Посмотреть профиль Найти все сообщения от Peresmeshnik
 
Регистрация: 28.02.2010
Сообщений: 3

Спасибо огромное!!!
Надеюсь что это еще кому-то пригодиться!

Обнаружил еще кое-какую проблему с этим скриптом: если сперва выбрать выравнивание по левому краю, а потом по правому, то style картинки получит по наследству оба параметра отступа. Т.е. как можно сделать обнуление, чтобы при выравнивании по правому краю после левого не оставались параметры отступа от левого?

Последний раз редактировалось Peresmeshnik, 28.02.2010 в 22:16.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с javascript andruhin Общие вопросы Javascript 12 04.05.2012 10:05
Собрался силами, собираюсь освоить Javascript walker Общие вопросы Javascript 14 20.03.2012 16:17
Звук на сайте с помощю JavaScript romms Элементы интерфейса 3 09.11.2009 21:46
JavaScript на Яндекс.Фотки - почему тормозит браузеры? ZavFirefox Javascript под браузер 23 27.09.2009 19:24
Нужен Старший разработчик JavaScript Yandex Работа 17 19.08.2008 16:43